12下一页
返回列表 发新帖

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

3,675.6k 22
uhxidjjr 发表于 2015-2-11 11:38:08|湖北 | 查看全部 阅读模式
css3和js网页制作实例:网页头像展示效果% k/ x" s) `( O0 t% Y& @; e. X3 q; _
今天就为大家分享一个非常有创意的CSS3头像展示效果,交互性强,是一个基于css3和js来实现的,代码量不多,但是最终的效果却很让人赞叹,所以特别推荐给大家。其中关于本示例的一些css样式呈现,个人认为还有很大的发挥空间,例如鼠标经过的时候而不是切换成一个背景色和文字,而是替换成其他的相关图片(例如改为人物的其他表情),这将会是非常的有意思的。3 h# z# [. @6 M

& Z3 ~5 S7 I0 o5 r6 Q; e; A% J8 G2 j
) R) z5 y/ p; l- f, L8 |% y/ I" y9 g/ a9 i好了,接下来我们一起看看其效果的制作方法。
. n6 F8 T" G) y2 ?. k$ `+ c# M- uHTML代码结构
$ S) Y4 N0 p9 Z+ P2 r% E0 d3 a5 O3 Y3 k1 S$ D
  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>里面的结构如上。
8 G& N7 P$ u; H+ _8 J# A$ FCSS样式表4 ~0 v+ i3 V$ A  i/ o7 j
* a  t8 G6 v: q$ i
接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。
8 B" y3 E) G% Y
  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代码! @; Z+ V$ l. r4 x4 W  b/ z

' w1 D5 A0 r5 `4 e% S' \2 k最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。3 N3 p. V' y% E, a
(function() {
& C# l  X1 k5 p  y) }" _% n$(function() {
, x' q6 i, L, \1 p% }7 z3 r" Xvar columns, current, easing, grid, hideItem, showItem, time,8 ]/ J' }; B9 k) X' W
_this = this;
: Q$ j8 Z4 C9 t/ Agrid = $(".grid");
7 t" P/ p1 |& D% j& W  l5 Rcurrent = {
/ ]% Q  a, T& T! y9 y  @index: -1,3 u" w& d, L" E; o# b5 p' C
column: 0,. M2 {6 U4 T& J5 A
line: 0
4 J9 o: b0 A, R+ v9 q( G# c: f};! ~' _# w# o; P  c9 d& J( s
columns = 10;- Q' L9 j/ g2 |- P
easing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";
5 a! Y! L) N7 M  M3 `7 a5 stime = 400;
0 _# K4 d- D/ ^+ r+ L- y4 n6 ngrid.on("mouseenter", "a", function(e) {+ N! }) F' W. s, M4 u* y3 U
var column, el, image, index, info, item, line;
" H, X/ D$ o5 f8 A/ z! t! Eel = $(e.currentTarget);# o! N  J1 h8 z' B; \, ?* o( g
info = el.find(".info");) D; u0 q# Z8 M  U- H& w' r
image = el.find("img");% e) d9 ], Q6 }5 w; T$ f" Q
index = el.parent().index();
2 D  Z4 m: c7 k4 Z* {! @column = index % columns;
$ P# R4 K$ R7 r$ ~. ]) L& e6 kline = Math.floor(index / columns);
- ~# L( e, P3 |$ g* Dconsole.log(index, column, line);, _. t4 i1 B0 @5 k( V0 n5 r
item = {% Q8 W7 |( X+ |' n6 e
el: el,
  @' n+ X7 T  D2 ]! Q6 m3 S* W, ]index: index,
7 `0 n4 _5 r% B1 o- ?( N" f0 Scolumn: column,
1 o/ M" n8 \" h5 {line: line,
0 f: V  r1 n0 G; F+ cinfo: info,# L$ y+ _! ]  M8 ~* X
image: image
; U& @! u$ [3 V$ E9 T$ _& P. Y};
! q) r4 y* P' F4 \" y% b9 Zif (current.el && current.index === index) return;
9 k! W$ H( r0 k& U7 s- Bif (line === current.line && column > current.column) {
! A# u! Z  V2 _& a4 T( _! G. m. zshowItem(item, "-100%", 0, "25%", 0);
' ^1 k4 ^( D3 T+ U1 U9 k, MhideItem(current, "100%", 0, "-25%", 0);
& C. n2 B4 I$ S* }7 ?, r} 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) {
. R% F! p+ V  MshowItem(item, 0, "-100%", 0, "25%");
! V# @, e" m6 ]; `/ bhideItem(current, 0, "100%", 0, "-25%");1 \( h; V. S: e4 U0 t6 ^  m8 |: b$ z9 v
} else {1 r. u" `5 v/ S+ f; H- J6 p
showItem(item, 0, "100%", 0, "-25%");- W/ ^( C# e: K% V8 h& @
hideItem(current, 0, "-100%", 0, "25%");
* U( ^) p' l+ A, o4 o2 f0 Q9 c+ t4 T}
% f: o* S# u1 }return current = item;* o: l9 E" `: z" S$ S
});
# J0 g! `' b, e; f/ X. d8 sshowItem = function(item, infoX, infoY, imageX, imageY) {
, P/ `/ P+ t6 ]* M  gitem.info.stop().css({, h7 \  W- T9 @5 Z) L: b
x: infoX,! X! s' c. i: M$ \& e
y: infoY,
4 w  l0 n9 b9 Gdisplay: "block"( B5 K1 }+ f9 d* M- q1 x+ ?
}).transition({
; O) X9 z5 ^* Yx: 0,
' k& H7 E* U* K' d5 n9 ^5 U8 xy: 0,: L- [3 u1 K4 d+ t# [5 I! ~$ |
duration: time,+ Q' Y1 `/ f0 f6 ^8 a2 G* g; k
easing: easing
& p4 o( n2 c/ q+ u# S  |7 e});
. V) J: [( N5 h- a3 V3 w) m2 i( Preturn item.image.stop().transition({' S2 S8 ~+ {1 H
x: imageX,2 ]' @$ f' k/ q8 c
y: imageY,7 y3 u9 G4 r6 y; V( G
opacity: .5,7 q9 q4 @+ G7 T
duration: time,* F% L5 k1 t8 X
easing: easing+ Q! b1 `  B( \+ h
});% [* P4 z5 ?9 h  i2 p6 B
};  K* ^3 X+ s, E9 _7 ?2 s7 c
return hideItem = function(item, infoX, infoY, imageX, imageY) {& }1 W" ]7 _! t% z) N0 z
if (!item.el) return;
- M% l/ I' u3 V9 D9 W6 Iitem.info.stop().transition({( W, a" p' E" [( b
x: infoX,
0 r9 V0 f0 [! Z2 ]/ X8 O  H* ?+ }y: infoY,
: b# _6 G# r: m4 K, Sduration: time,6 Q# K) d6 P) Z5 ~% g
easing: easing
! [" N; H- p' g# G! F});
1 w  G( w% g2 j8 A5 A/ ?& S( g) Mreturn item.image.stop().css({
% e5 Z# u# }9 r+ H' E" n. sx: imageX,
' J1 x6 _. N# D, I* Py: imageY,, y) c; \8 K0 {  d9 F' r
opacity: .5+ B7 N9 {0 g  M. b8 m' ~: p
}).transition({0 e! ^3 ^9 a! x8 Z8 E
x: 0,) N8 U$ @' y6 ~: y" f3 y# T
y: 0,* M; x- J( b( _1 [. j$ U
opacity: 1,
; M% i5 H/ l* H- N$ Nduration: time,. o* P1 @, e& Q- {- l1 S  j- ]. }+ {
easing: easing) L' K% M0 r" r; {/ T5 }
});
  N5 l7 [: |9 Z+ o3 T- W! v};) ]$ k/ q% Z: e- F4 x, B
});  i! r) z! R; i+ s" A
}).call(this);

+ x& o) r$ W9 U* O9 V: f* p
  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规则,所以它不能兼容旧版本的浏览器。
6 N( D% C! a1 K3 N) a; Z$ f- Q  a5 k
8 u7 k! {" V+ t2 j8 B下载附件:http://www.webjx.com/files/soft/1_130711103319.rar
% G$ S4 T$ Y% b( R4 [* @/ T今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表