12下一页
返回列表 发新帖

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

3,675.3k 22
uhxidjjr 发表于 2015-2-11 11:38:08|湖北 | 查看全部 阅读模式
css3和js网页制作实例:网页头像展示效果
/ B. g- w/ W8 o/ P% _' S- |! _今天就为大家分享一个非常有创意的CSS3头像展示效果,交互性强,是一个基于css3和js来实现的,代码量不多,但是最终的效果却很让人赞叹,所以特别推荐给大家。其中关于本示例的一些css样式呈现,个人认为还有很大的发挥空间,例如鼠标经过的时候而不是切换成一个背景色和文字,而是替换成其他的相关图片(例如改为人物的其他表情),这将会是非常的有意思的。
# R# R( m! @+ N
1 p! S7 b1 k9 D$ X+ I. M8 m% W8 \5 F1 ]
好了,接下来我们一起看看其效果的制作方法。- L* D) m' O$ R  U( M7 U' L
HTML代码结构  U" T+ l& c" s- h) ]6 O
$ q) X7 w+ `  v3 P$ e1 f) 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>里面的结构如上。
5 ]  ~" H  H* I8 K+ QCSS样式表
  g) A# d2 X' B0 N1 V7 c# k! d( C  d( J; \
接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。0 i  T9 S6 L- W
  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代码3 Q5 z  ^' g3 _% \2 f  K0 }
! M4 `3 \4 [% G) a7 E% V6 E! l
最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。
- n6 N: w9 v& A. @(function() {- M4 G( D- M4 d: h9 j. G7 ^# d9 n( S
$(function() {
8 `& L9 U  v$ ], h7 d; tvar columns, current, easing, grid, hideItem, showItem, time,
. @* I8 `0 v0 F" b# z6 z9 i_this = this;
) j' }# k* N# G( N& c' Xgrid = $(".grid");
& K- t4 D; z! m" c) d  ^, c- h: X, icurrent = {* G  X: c  S# F7 R" m, X6 F2 u* q
index: -1,) V* A7 ?2 u7 V+ o0 e: t
column: 0,
+ w9 Q9 H" s& o6 l+ f9 A, Pline: 0
, |1 T! x3 U7 c. L/ `};
- Q. R) K$ }3 Q! h6 Q1 Rcolumns = 10;3 x* ~: K& x4 ~/ z  {4 t5 D
easing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";
3 ^1 u+ f/ R" q4 J9 c8 y1 J8 ^5 Stime = 400;
* L0 q" A: e1 M( M* ~6 igrid.on("mouseenter", "a", function(e) {. D& ?8 ^! q+ @7 N, i+ l
var column, el, image, index, info, item, line;7 Q# k  Y/ O( H
el = $(e.currentTarget);  ~( o' W! R/ i) }" [$ ?5 I* h3 O0 q
info = el.find(".info");
, Z/ v3 c5 q, m4 n' Y- rimage = el.find("img");/ _  s8 j1 A& F
index = el.parent().index();
, V6 J4 k6 l- p5 T, O, h+ z( A6 ~  Ycolumn = index % columns;
: V; {3 I8 ^' M* fline = Math.floor(index / columns);4 ~' s) t6 h: a4 e7 [  Q: c
console.log(index, column, line);3 n; i6 z; ], ?, x
item = {
- |# `8 {* Q+ b8 K5 fel: el,
7 s" U) H% J) Y0 xindex: index,. }  z& E( G0 k0 V
column: column,
6 {7 l# K# z! @8 M0 u6 nline: line,
6 j  I1 m5 O' Cinfo: info,! X, b! a/ Q! _+ E# \9 y: L% A
image: image, n5 I0 |+ k+ \  R/ ~# w3 s  t
};4 M- a) L. J2 M5 o0 \5 R5 u. o
if (current.el && current.index === index) return;
5 c! s7 `. l* l! n' Kif (line === current.line && column > current.column) {. N  R: K8 q+ ^) D9 n' G4 D' x
showItem(item, "-100%", 0, "25%", 0);
) F: S( `6 z- M9 i( @( M, W$ mhideItem(current, "100%", 0, "-25%", 0);
6 F1 C% @$ u2 P4 C" h% t4 q) z( c6 m} 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) {7 p/ }. `; ]. ]! I* ?
showItem(item, 0, "-100%", 0, "25%");
* @: S, d2 g6 E1 ]0 K8 S2 n! }hideItem(current, 0, "100%", 0, "-25%");! x! X5 N3 g" ?4 U5 R
} else {
: B6 Z: E9 E1 L1 C" |7 e: WshowItem(item, 0, "100%", 0, "-25%");
& D' K% j  g0 h+ FhideItem(current, 0, "-100%", 0, "25%");: e/ A; k% f) s2 i" Y6 O' \, W
}8 q0 e: r+ q6 }# F2 {  B
return current = item;4 \" o& p  u7 M$ T" M
});
# q+ `3 [0 ^" V( `showItem = function(item, infoX, infoY, imageX, imageY) {
' a' t1 ~5 x2 E: Ritem.info.stop().css({- g. Q/ y& T; v
x: infoX,) J/ X2 D1 J+ Q8 X
y: infoY,3 P2 {" M4 h; U" V" c9 B9 w
display: "block"
, j) O: l+ w1 Y9 F' ]  j/ N% h0 u1 h5 m}).transition({4 S# h7 k: v$ [
x: 0,
" h3 H9 x7 @( w, O, G! Z& y; R" Wy: 0,6 E( N$ u" W6 y4 b" l$ ?
duration: time,
; K5 b+ V7 ?7 M: t: E1 Jeasing: easing
5 _  h% v6 ^9 {});2 w8 @# ?3 U8 x: w! Y/ m& B, }/ M
return item.image.stop().transition({
" X: {+ o1 s4 ?4 y6 O. hx: imageX,% @" J: J4 X. v6 J, l; B% @7 O
y: imageY,; v' E2 U% X, P2 b  D- \* A
opacity: .5,8 e% ?  Z3 H2 N, \
duration: time,
* l/ `" b! O( [- p2 Reasing: easing7 N; y" O/ H5 o' M
});. v7 e" _2 E, q; s2 R
};
0 P( P' ~6 Z5 Ureturn hideItem = function(item, infoX, infoY, imageX, imageY) {* t' Z, u: C& c2 t4 k& Y
if (!item.el) return;
" U/ W0 ]/ _8 n9 \/ W+ Citem.info.stop().transition({7 J! H5 {# ~2 g. f9 C
x: infoX,
; N. y- j* j( T8 A! by: infoY,% H6 {- o6 A# N. o4 n
duration: time,4 R7 Z: A6 U- S# J' R
easing: easing
- x$ J- Z8 n6 X- o  |: ^# \. G: ]});6 J$ ^+ t* [& @
return item.image.stop().css({
; _! X9 j# \( T1 R) S) Ix: imageX,
4 u" @5 ?3 w- L# W) U6 b$ f, gy: imageY,
! @9 [1 C$ O$ W+ b, x% Aopacity: .5
4 m- r9 g- z: E) M}).transition({' y% V& Z+ g7 ]3 Z3 T2 s# D# F$ P* c
x: 0,% f. s( f2 x4 g! p& t- x, u; O
y: 0,
  J7 S4 j% P% o6 Fopacity: 1,
+ l1 Q1 v# m. q8 r( g8 i, z5 oduration: time,
: H4 B8 z) u6 L8 w- B; Jeasing: easing9 _1 H# k) ^7 }/ v% G2 s
});; V; e6 b" G$ D$ s8 y' P* v2 E
};
+ w4 W1 ]$ ?+ o) W: d4 ]% S});/ n' h8 w5 t  `* ^
}).call(this);
/ n( Z9 N) P/ x: O' x& O5 u
  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规则,所以它不能兼容旧版本的浏览器。( M7 v5 K9 h% `! z% k8 Q7 m

: T& Z4 J4 q5 Q+ [& K; I下载附件:http://www.webjx.com/files/soft/1_130711103319.rar, s/ G) h3 A2 j
今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

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