12下一页
返回列表 发新帖

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

3,675.8k 22
uhxidjjr 发表于 2015-2-11 11:38:08|湖北 | 查看全部 阅读模式
css3和js网页制作实例:网页头像展示效果
5 @  v# K" A  u4 l今天就为大家分享一个非常有创意的CSS3头像展示效果,交互性强,是一个基于css3和js来实现的,代码量不多,但是最终的效果却很让人赞叹,所以特别推荐给大家。其中关于本示例的一些css样式呈现,个人认为还有很大的发挥空间,例如鼠标经过的时候而不是切换成一个背景色和文字,而是替换成其他的相关图片(例如改为人物的其他表情),这将会是非常的有意思的。
  t/ O& w) P) w
, W# N8 w6 J1 \* A# I" Z' t; q7 K. D
好了,接下来我们一起看看其效果的制作方法。
& x+ e# }3 J# O& r! kHTML代码结构
3 S. q2 O% S/ k% L9 T
) A* v! U0 j" O$ n& ^
  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>里面的结构如上。" O6 B; Q" a9 Q. m# {8 u
CSS样式表
. J' ]0 d+ U# k
8 n( V, u9 f! B6 A2 N接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。) c. f+ |1 [1 T  c/ h! l
  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代码$ Z8 E1 P  }6 Q8 o1 u+ O

* J5 @' e; w1 K! |" r最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。
* \9 g( R2 c- n6 Y(function() {1 T- m% A" D* R
$(function() {
, e8 \/ d. a& e4 R- F$ L' J) Svar columns, current, easing, grid, hideItem, showItem, time,
% q5 }. l6 x0 U2 J8 S6 C# M% j3 n_this = this;
/ F' n# d! Y) @" f" o; [" ugrid = $(".grid");
# c& T9 q8 `# j) @6 kcurrent = {1 t8 S1 d: z1 P  j5 e- j4 N( _! }
index: -1,
9 n" P  G! J, y4 kcolumn: 0,' E) \$ P# d; b) q/ M4 R/ z4 ]
line: 00 K% ?! P* ^( M( D( O2 w
};6 {. l1 _  K3 D) r  q* A; R
columns = 10;6 U( P1 Z4 T/ A# b, |4 v5 ]  j! k# e) j
easing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";
( e4 L0 g' v8 @4 m" }time = 400;2 U( G# |* P+ b/ S
grid.on("mouseenter", "a", function(e) {3 V9 ~- Z7 Y$ ~0 `( `
var column, el, image, index, info, item, line;' D5 d, d3 T3 o; x( k/ R' v
el = $(e.currentTarget);
! Q; j8 C/ H- K  vinfo = el.find(".info");
9 I+ J. U- L6 T, D+ D* Fimage = el.find("img");
2 X( N% i: }9 rindex = el.parent().index();
. {9 v) Y7 G: B% F; K7 [column = index % columns;
* f! v7 x$ i7 R6 jline = Math.floor(index / columns);
3 t: q4 k! c$ c+ qconsole.log(index, column, line);
2 E+ G2 G4 M( a% e. z! Vitem = {& l& ]1 w# J# m5 ~5 r0 Z6 [
el: el,! ?& G' N7 y* ]. M) v
index: index,
& d  y$ W! F& @6 acolumn: column,' x9 C8 S, P/ w( u) X" Z: P
line: line,
" ~. m# v2 u# Iinfo: info,2 |" g( z* a9 I$ Y
image: image
( c0 Q( c  Z5 w# i# D0 h" P};  U, K  @) }. O
if (current.el && current.index === index) return;
( z/ {4 w: h& d6 R$ Pif (line === current.line && column > current.column) {* O0 V1 \  ]$ ^% L( x/ k$ Z. K
showItem(item, "-100%", 0, "25%", 0);! |; j8 v/ P4 d& c- ?' H: y
hideItem(current, "100%", 0, "-25%", 0);1 R1 p# v+ W2 j& o* ?0 x( q/ O
} 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) {! K3 l# ^% {! ^8 h; r: p) a2 u( e
showItem(item, 0, "-100%", 0, "25%");
1 B! n8 s' @* P1 F4 x1 rhideItem(current, 0, "100%", 0, "-25%");0 {! A( W2 Y2 `3 M2 S+ _
} else {; h$ c; V/ l  E' ]4 Z' r  n, Q
showItem(item, 0, "100%", 0, "-25%");( s; ?  u- O1 G( ?" |+ d$ p) Z
hideItem(current, 0, "-100%", 0, "25%");" Z! }/ ]  F1 D8 R! Q- u9 p
}3 d" W! O' A9 q* b! j4 |! z, P+ `
return current = item;
  Z3 ?/ V7 h3 F* q' G) b});. X  v1 o& \  ~# W( c
showItem = function(item, infoX, infoY, imageX, imageY) {
2 Z" U: n6 c2 ^+ O6 Yitem.info.stop().css({3 @4 a. ~4 J5 n# U9 x0 o* c
x: infoX,
1 G& E6 K: g, n2 s! ]: v: ly: infoY,: A2 ~6 H: g6 S6 Z+ \3 Q, V
display: "block"
# o# _+ Y( V4 ~. b2 |9 u}).transition({
+ H9 S0 w5 M) d- K7 M9 j4 \+ z1 cx: 0,6 d9 j4 V8 u- R8 @% F5 t+ Z: R7 B
y: 0,
/ u% q6 c" e5 E2 h/ b. N; }duration: time,9 F2 N7 c- Z( t5 q
easing: easing( d" L& @1 k  i& }: A0 C
});
- }3 C$ i* `& c1 O: D3 w8 Breturn item.image.stop().transition({
8 e* j, H- C- w. Vx: imageX,! y: Z; x) B' ?; Q0 }
y: imageY,
9 q% t" x7 ]4 C& U' G! Oopacity: .5,3 e$ G/ w+ H0 [% l  i$ k
duration: time,; S1 u1 {) }6 v' N5 @! e2 n
easing: easing8 K/ `) n/ C& K1 w: a
});- ~# D4 \! |! @! Q
};' f1 f- x; X. u: p. I- w! c
return hideItem = function(item, infoX, infoY, imageX, imageY) {6 f7 z- {% v; H1 U$ c
if (!item.el) return;2 ~$ a+ o0 R* h( m! @
item.info.stop().transition({; W7 L* \( P& M/ \  V9 r$ J$ J
x: infoX,
, O) t0 N& F# @y: infoY,1 z6 x' p1 f2 j; q# m6 U; j
duration: time,3 Y3 e4 a- Q1 g. U: L2 C
easing: easing
7 S6 ~! J8 g6 ^});
: O0 P% Y8 H0 d; `8 h" Greturn item.image.stop().css({# A# M" a1 [/ D5 l9 I+ X
x: imageX,2 n% V* }& u6 ~% _: u+ `& ?
y: imageY,
) H  D4 W3 U  @5 popacity: .58 S- n2 c7 t' F( u2 {& U, t
}).transition({
: a+ O' @5 E  E! T9 ax: 0,7 o, o: a! D/ ?- }$ v
y: 0,- }+ T5 u$ Q2 w0 l# Q
opacity: 1,
; N- n' F0 c3 S8 O3 l9 yduration: time,
2 ~7 r* Q- T7 |$ xeasing: easing
9 s! ~( D. N' A8 E6 |});% _. m: i: U& K' R4 u  z% u) s/ p* w
};: h3 W) g  e9 @# i2 o$ |
});, N5 f+ C: A, s0 U. O6 a9 ?+ ^+ ^8 D0 w# H
}).call(this);
. b$ j4 F( I; l: t6 v
  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规则,所以它不能兼容旧版本的浏览器。
* O- S( m1 k$ _9 M% p. r
+ Q: M' T- F; r9 Q( P5 B) J下载附件:http://www.webjx.com/files/soft/1_130711103319.rar$ j) T6 t6 [3 i4 F
今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

回复|共 22 个

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

回复

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

本版积分规则

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