12下一页
返回列表 发新帖

css3和js网页制作实例:网页头像展示效果

3,675.3k 22
uhxidjjr 发表于 2015-2-11 11:38:08|湖北 | 查看全部 阅读模式
css3和js网页制作实例:网页头像展示效果
8 I( V+ L$ Y* A6 h6 n) B今天就为大家分享一个非常有创意的CSS3头像展示效果,交互性强,是一个基于css3和js来实现的,代码量不多,但是最终的效果却很让人赞叹,所以特别推荐给大家。其中关于本示例的一些css样式呈现,个人认为还有很大的发挥空间,例如鼠标经过的时候而不是切换成一个背景色和文字,而是替换成其他的相关图片(例如改为人物的其他表情),这将会是非常的有意思的。9 c5 W$ G$ K  u. S  A6 u
( L. N* O5 }2 N: N3 Y- I! c
& B6 d$ A+ [0 X! I7 Q
好了,接下来我们一起看看其效果的制作方法。# P; M* v5 K- j$ l$ p
HTML代码结构
8 M4 J- t$ }% l- R) o4 j* }! M. |& ?' ^' l
  1. <ul class="grid"><li><a href="http://www.jiawin.com/creative-css3-avatar-display"><img src="images/1.jpg" alt="" /><div class="info"><p>1</p></div></a></li></ul>
复制代码
看了上面代码是极其简单的,就一个列表元素,你需要放多少张图片就写多少<li>。<li>里面的结构如上。9 u: C. ]- L8 Z2 x6 W, e
CSS样式表
, O3 ~: {/ F' C1 Z: y5 p" _# z7 |" L- ~# R  R/ c
接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。1 p) X+ ^' g( v" Q
  1. body {font-family: Helvetica, Arial, sans-serif;font-size: 16px;-webkit-font-smoothing: antialiased;-moz-font-smoothing: antialiased;font-smoothing: antialiased;margin:0;padding:0;background-color: #E6E6E6;}.grid {margin: 100px auto 80px auto;padding: 0px;width: 100%;height: auto;overflow: hidden;max-width: 1000px;-webkit-box-shadow:0px 40px 50px rgba(0, 0, 0, 0.3);-moz-box-shadow:0px 40px 50px rgba(0, 0, 0, 0.3);box-shadow:0px 40px 50px rgba(0, 0, 0, 0.3);}.grid li {width: 10%;background: #000000;float: left;position: relative;overflow: hidden;}.grid img {float: left;width: 100%;height: auto;position: relative;-webkit-transform-style: preserve-3d;-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);-moz-transform-style: preserve-3d;-moz-backface-visibility: hidden;-moz-transform: translate3d(0, 0, 0);transform-style: preserve-3d;backface-visibility: hidden;transform: translate3d(0, 0, 0);}.grid .info {position: absolute;width: 100%;height: 100%;padding: 15px;background: #DC584C;display: none;z-index: 2;-webkit-transform-style: preserve-3d;-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);-moz-transform-style: preserve-3d;-moz-backface-visibility: hidden;-moz-transform: translate3d(0, 0, 0);transform-style: preserve-3d;backface-visibility: hidden;transform: translate3d(0, 0, 0);}.grid p {font-size: 22px;font-weight: bolder;color: #FFF;}
复制代码
JavaScript代码
8 w4 J% {/ S$ a" l3 C, z9 `2 U' @  L! {7 a- W' M+ [, j; Y6 R
最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。+ v% W8 Z) A7 k3 ~; _/ Z
(function() {: c0 c- [7 k, p
$(function() {
# {: y7 ?* O/ B" d+ Wvar columns, current, easing, grid, hideItem, showItem, time,
3 o- U/ {$ I! ]0 D7 E" z_this = this;$ g* Y* f" }  s( j, P; c
grid = $(".grid");5 ]* v: Y1 z4 S" h& M2 n( Y+ G/ R- h
current = {; N% P+ J- h  T9 M* y$ q
index: -1,3 X  f# w* D9 _6 \
column: 0,- Q" |8 f6 }  R! ~8 H5 _
line: 06 E, f( {/ N- I, p
};8 N" ?: y5 t: d
columns = 10;7 ~& X; k# o0 Y0 ]! B* t8 Q
easing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";5 a1 A, Y8 a0 u
time = 400;
' R0 v: \4 Y; D9 |grid.on("mouseenter", "a", function(e) {4 B  z7 E/ v# ~6 `% g. h
var column, el, image, index, info, item, line;
: f. t; c  o6 F- D6 @" Hel = $(e.currentTarget);8 x* _! [- ?2 t; W
info = el.find(".info");: z8 L! @. s0 E* C5 I2 P
image = el.find("img");
5 ^  K* V3 D! a9 U6 uindex = el.parent().index();
, l: a1 v/ I1 Y8 M& p  Scolumn = index % columns;3 n7 I, V2 T6 G9 j( p
line = Math.floor(index / columns);, V0 r# _: Y4 n1 l8 F/ G$ T
console.log(index, column, line);
6 C: H9 J' E( P1 B% h. ^item = {
' C) |8 s: ?" G/ N' bel: el,
2 I- b7 V2 ~/ N" E. n7 `index: index,
7 K1 k9 g6 H& y5 K  Icolumn: column,
( _9 @4 e( y9 Sline: line,4 Z7 D0 J" W) f2 y3 [
info: info,/ u& C2 E$ ~' n& g- L# Z. K# g' v! |
image: image
# J& {$ L( ^0 A7 [- G0 G};
9 |& L, c. w9 k) j$ Zif (current.el && current.index === index) return;' q6 |0 u# v+ H8 t( V3 f' V
if (line === current.line && column > current.column) {2 D2 Z) o! O. ?4 }; z) T
showItem(item, "-100%", 0, "25%", 0);/ q$ {, b5 k8 Z; T2 m* ^* |6 t
hideItem(current, "100%", 0, "-25%", 0);  f- J' J  `% y" R# m9 F, ^7 a
} else if (line === current.line && column < current.column) { showItem(item, "100%", 0, "-25%", 0); hideItem(current, "-100%", 0, "25%", 0); } else if (line > current.line && column === current.column) {/ o. p& t: J' @8 v1 {* m
showItem(item, 0, "-100%", 0, "25%");# A; H, a0 n3 d; a
hideItem(current, 0, "100%", 0, "-25%");. p- [0 e6 j/ W$ d9 K3 \* L, [
} else {5 Z% \5 A( {: r
showItem(item, 0, "100%", 0, "-25%");# }3 A3 K3 c! @* H* p% R' f
hideItem(current, 0, "-100%", 0, "25%");
$ k; d1 G# A! ?}
( u! s7 e4 ~1 e# [return current = item;9 b% ^$ u. [; M* ]& x7 R3 u
});; |8 B. f& h6 c! _9 q
showItem = function(item, infoX, infoY, imageX, imageY) {
7 U! B; e: R6 L6 Y6 t2 l' vitem.info.stop().css({
4 J) k, G5 n1 n5 C9 Cx: infoX,
0 s$ U% G6 Q- I7 K( Ay: infoY,# |3 K9 y9 H, {  j, u: i5 ]2 v  |( N
display: "block"1 r4 |9 q# |; \" Y( |5 z
}).transition({5 U4 r! a! g6 v8 }) @8 C$ Q
x: 0,, s+ ^. A$ G: R9 v% n
y: 0,
2 P/ J) M6 \4 `: V8 B0 Wduration: time,
  D! U# b* o- L* t! t' ?easing: easing/ J! H: Y) n) v  ]5 c
});. \/ a' B5 r% d( g6 f0 w: D
return item.image.stop().transition({9 f3 F* e+ Y, }+ u" _5 P$ X+ c2 w
x: imageX,5 e* k/ f8 a) ?/ U! H
y: imageY,
: j, l. i4 v  k$ A1 L' Bopacity: .5,3 a: m( ?, C  S+ Y+ a! c, ]" p
duration: time,& @0 Z: T+ i( c/ j9 i' L3 z# v* U) E
easing: easing
2 @8 s7 m- J! g; F  v# o$ d});. ~/ X* f* r1 d( c/ ~5 p! ~3 S
};; S' x/ f7 t6 Z9 b3 a1 q
return hideItem = function(item, infoX, infoY, imageX, imageY) {
' g  l) E/ ]$ r, Fif (!item.el) return;
% u6 {$ O( Q- m' Hitem.info.stop().transition({, ~; D" x6 \& u3 Q) M$ A4 W
x: infoX,
. \- L) p& A& A+ Iy: infoY,! n9 @+ S7 ~1 o8 V' f
duration: time,- a7 d4 x0 n# Z* z# l
easing: easing3 n7 }! v2 e: I
});
9 y0 B# V; k4 a& `* Ereturn item.image.stop().css({
3 t8 J3 A% H8 U& k+ l+ {x: imageX,9 U; B; f4 P! {- o$ }- U
y: imageY,
, R4 n  C2 [. J; F7 g# @7 popacity: .5* M" F8 i; r) b( X. |9 g
}).transition({
0 T6 P) Q, {/ p" e( R# p5 Gx: 0,
" E& ]' M1 m# p2 Q* Sy: 0,
/ |: e$ c  R+ ~' y! uopacity: 1,  [: \" |: E2 p5 I
duration: time,
& o# h* o0 H9 @$ C+ U  e  h3 Geasing: easing: A7 n. X' ]2 g5 d) c
});
4 v2 O" r: a7 `: v  L) N9 I};( L: A2 c8 [7 e( |, G
});4 Q, @; ^, i. d$ v1 G
}).call(this);

  R3 j( C# `) i- d0 k
  1. 到这里,我们的示例基本上就完成了,但是按照上面几步来,最终是没效果的,那是因为我们还没引入jQuery库和一个jQuery插件(jQuery Transit)。
复制代码
  1. <script src="http://code.jquery.com/jquery-latest.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.transit/0.9.9/jquery.transit.min.js"></script>
复制代码
jQuery Transit是一个利用了CSS3的过渡和转换特性来实现动画特效的 jQuery插件,与jQuery的animate方法有着同样的语法。此插件支持这个特性所提供的大部分方法,同时增加了 jQuery 独有的技术:回调(callbacks)、自动增加浏览器CSS前缀、链盒(chaining)等。由于此插件使用了真正的CSS3规则,所以它不能兼容旧版本的浏览器。
$ `- Y6 b5 u% z0 U6 z6 p- E- f0 X: {& i* e
下载附件:http://www.webjx.com/files/soft/1_130711103319.rar$ a. v; K! t1 O4 L$ [+ G0 d
今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

回复|共 22 个

seazvyt 发表于 2015-2-18 17:20:32|INNA | 查看全部
楼主说的是什么?我是小白,好像还没看明白!
alapScady 发表于 2015-2-18 17:24:08|美国 | 查看全部
教教我怎么seo
阴阳小轩 Lv.8 发表于 2015-2-18 17:19:30|亚太地区 | 查看全部
终于看完了~~~
tohme 发表于 2015-2-18 17:22:47|美国 | 查看全部
这是怎么了啊??
长颈鹿王77 Lv.7 发表于 2015-2-18 17:22:54|北美地区 | 查看全部
哈哈 ok ~~~
佚名 发表于 2015-4-8 19:45:50
为了不让帖子沉得太快!!!为了人人知道这个~!! 我不是原创~!!但是我要把他发扬广大~!!!
佚名 发表于 2015-4-8 19:25:22
假如我们把自己力所能及的事都完成了,我们会真的令自己大吃一惊。
佚名 发表于 2015-4-8 19:36:37
呵呵 大家好奇嘛 来观看下~~~~
佚名 发表于 2015-4-8 19:43:02
说嘛1~~~想说什么就说什么嘛~~
佚名 发表于 2015-4-8 19:27:24
下次有人骂我了...我给他还回去..
swmozowtfl Lv.18 发表于 2015-7-16 18:30:38|美国 | 查看全部
晕倒`````不要造我的谣言哦~~小心我打你pp~~嘿嘿~~~~
xiaoye Lv.9 发表于 2015-7-16 18:34:51|日本 | 查看全部
教教我怎么seo
efiew Lv.15 发表于 2015-7-16 18:34:16|美国 | 查看全部
貌似我真的很笨????哎
xiaoye Lv.9 发表于 2015-7-16 18:24:28|美国 | 查看全部
老天不公啊.....

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 站长技术交流论坛|互联网技术交流平台|Ai技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表