12下一页
返回列表 发新帖

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

3,675.4k 22
uhxidjjr 发表于 2015-2-11 11:38:08|湖北 | 查看全部 阅读模式
css3和js网页制作实例:网页头像展示效果
8 z! Y/ D( [: l今天就为大家分享一个非常有创意的CSS3头像展示效果,交互性强,是一个基于css3和js来实现的,代码量不多,但是最终的效果却很让人赞叹,所以特别推荐给大家。其中关于本示例的一些css样式呈现,个人认为还有很大的发挥空间,例如鼠标经过的时候而不是切换成一个背景色和文字,而是替换成其他的相关图片(例如改为人物的其他表情),这将会是非常的有意思的。5 J* E# q- ~# ^/ W; m. v# c
' k1 C  ?; z" n( a% U# E4 E
( j- ^- |* }. ]$ o
好了,接下来我们一起看看其效果的制作方法。6 v' H8 r& U* p4 t! X% |& `
HTML代码结构
. {; ^0 C, h9 B# G) \; Y+ i8 G9 x9 F! P7 z" E' G" b
  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>里面的结构如上。
3 f5 E8 ?4 E2 R, B7 i8 d! {) w! fCSS样式表; R0 y% \, s( [: m1 a0 n& w

  n- ?$ j) Q, ?& ?) M( Q  S接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。, |! q( l7 L3 C2 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代码  H) F1 T5 K/ S7 n: w; I! G) B) w
% K. e; G1 z6 c' h( W1 i
最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。" I8 ^4 G0 _6 m3 Q
(function() {
; Y6 i; w/ K$ H2 Q; `$(function() {6 R2 _1 x! r3 g! k6 |" E8 I4 G
var columns, current, easing, grid, hideItem, showItem, time,0 @7 h! Y4 z3 C8 V+ G$ t
_this = this;5 i# J- ]& W7 ?# m3 L- N. Q: }
grid = $(".grid");/ H, }+ A$ b; g) R" m# A
current = {
# n4 Y# M: w1 }! G- Pindex: -1,( A  p1 m. s, ^& H6 V/ c
column: 0,) r& H6 C- O. x. p; i
line: 0
% u/ x/ _: o( I) G4 W" x3 K; }};
, W% ?% I4 T/ r6 t; Ecolumns = 10;1 u9 j# L. W* a7 {4 u1 V3 `2 l
easing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";
" {+ R3 x: L! A5 Etime = 400;
9 a1 ~! ]3 ]# c0 agrid.on("mouseenter", "a", function(e) {7 c' o, D' U+ F6 c  @' I
var column, el, image, index, info, item, line;
% E2 m5 C" P( B2 ]' oel = $(e.currentTarget);: k5 h  {/ @) r3 E
info = el.find(".info");
# Z8 _1 f6 T& Y; Iimage = el.find("img");
& B  Q! L" d* K, o, ?index = el.parent().index();
; }9 y" n( V% k1 gcolumn = index % columns;
9 s: S7 T7 p( B8 w! o& Nline = Math.floor(index / columns);; ^5 p% V( a- ?* [  ?6 g
console.log(index, column, line);3 J/ I. `. m' c/ Q
item = {6 w, G+ X& }2 D5 V6 @! r; o
el: el,7 Q8 P( M; K& `+ v5 R. k
index: index,% z7 J- C$ n' g: w. |
column: column,
- H0 S: U/ q: D) o+ nline: line,9 E1 u9 H. B2 X, |8 g: V
info: info,( @+ ]: F+ b2 W& l( i+ h/ R) c
image: image$ T! W0 ?; ~+ w+ `
};. z4 t! y! f3 A6 {  S* l, @+ d8 k) V0 z
if (current.el && current.index === index) return;# H4 k* i& G" C# y0 l" s# _) a
if (line === current.line && column > current.column) {
: e- ~/ P+ M" ^2 [3 CshowItem(item, "-100%", 0, "25%", 0);2 _) o) V* G  ?
hideItem(current, "100%", 0, "-25%", 0);. m4 D' f. q" e
} 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) {
5 S+ p% A% v# S) j' UshowItem(item, 0, "-100%", 0, "25%");
. [9 L' {" D4 c# EhideItem(current, 0, "100%", 0, "-25%");
- c* G% _1 Z  {( _: v. ~} else {5 U" [# R8 b# z1 b. K& W5 o
showItem(item, 0, "100%", 0, "-25%");
0 T$ Z1 {: }0 T( q$ N2 B& N9 OhideItem(current, 0, "-100%", 0, "25%");
/ E( j; A3 ]6 `9 @" Q% F}; |2 P! N9 _4 ~
return current = item;0 V8 N# [( w+ F- p% N) r5 o
});$ j. e! Z% U% U+ Q
showItem = function(item, infoX, infoY, imageX, imageY) {
, c' e. a( p1 V8 Witem.info.stop().css({* m0 ]/ a9 s$ e; j3 M) m! s) M* j0 A
x: infoX,
% z2 A) g$ W  l6 J9 Q/ _! {2 Z; Ky: infoY,
* r, s2 \' h2 x3 ]0 T) {display: "block"7 Y: @7 s6 s- p- b7 U
}).transition({
# \+ B9 Q6 R9 w' j' tx: 0,( X; A; ?  C! e: O; J3 P
y: 0,# ~1 Y" v+ F$ J& C
duration: time,8 g+ Y4 ^0 e* A' Y- c6 C9 n
easing: easing% J. d8 F5 Z' T0 e* W9 B5 S
});* T. J/ }  v0 S1 ~7 ^
return item.image.stop().transition({
1 @9 B* Z" A- qx: imageX,1 _6 B* Q& X; h8 s# g; ]3 H
y: imageY,
$ D8 t! L; ~, J, p% _& Uopacity: .5,
" x1 N. C8 [  _7 x) @+ [$ g  g# l2 ~duration: time,
8 f* D1 }# C" m* s6 ueasing: easing
) `' g4 S  K3 U  s% Y& D/ I});! q) s. U8 ?5 n& W8 U' g
};
# R, e: V0 K0 b, f, preturn hideItem = function(item, infoX, infoY, imageX, imageY) {7 q5 j4 _3 T) i& k
if (!item.el) return;1 b; P7 d1 q2 Z- ^+ q* z
item.info.stop().transition({
$ Z5 n- t6 X& _& @9 Q! ?x: infoX,
& D" m: U; e1 t& Jy: infoY,
! I! y+ p5 w! ^- E3 J& fduration: time,1 M( a: ~" ]' Q1 n
easing: easing% B- f1 Q1 _1 i0 L
});
8 J' H# L+ Y3 f. |return item.image.stop().css({
& L5 o) w% J3 B6 r* o% v: lx: imageX,
/ W, j+ H* w) K* Q0 O! Iy: imageY,
5 |8 r" R/ @+ @- aopacity: .5: C$ M, V8 t, u3 ?
}).transition({% F5 M- }0 o' F1 Z. }
x: 0,: ~2 |1 i* d. |/ V* j$ I4 v/ A
y: 0,
  a4 T" z+ x& a8 y. P/ }  B: e! X8 Jopacity: 1,
/ w8 r: `% B% I( _duration: time,
; u6 O: ^; t: B& Qeasing: easing9 W) `" [/ ^  }7 S* |
});
3 F0 T( _' G! {( A: K4 w9 K  ~};
7 y6 y6 n+ F  L  l# g});
  f- N1 h: ?) y. r( k& e2 E}).call(this);
5 n  C! e& a0 m+ b8 Z( 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规则,所以它不能兼容旧版本的浏览器。9 r$ |2 A# j& D) e  W+ N  U
4 ~8 Y! e; t! J8 ?* l6 Z* B
下载附件:http://www.webjx.com/files/soft/1_130711103319.rar8 h. O/ T! C! O# U2 Y4 r
今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

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