12下一页
返回列表 发新帖

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

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

% @) _2 G( B9 y5 L" H; |/ {6 G
3 R% |1 U  Z  D; ^0 A3 C2 i好了,接下来我们一起看看其效果的制作方法。
, E0 b' ~; f, {8 D+ ]0 KHTML代码结构' V% K6 @/ g' F( ?/ b: m' W
  M0 H. @7 C' f& Y3 T8 l! m
  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>里面的结构如上。
& k2 W! K& r. r! @8 {, p: O3 p- PCSS样式表7 S9 N" D% F2 t

1 b$ x; B7 o. E0 z/ A" r2 K" w接下来就是我们的css样式表了,在这里只是一个示例,大家在这部分可以自由发挥,定义出你们的个性来。& |$ C3 t; @- ^) }3 i( q$ b( n
  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代码" ~; \; ^7 D! F, N; ~

" d* ?5 [) A5 ]6 \& q最后,我们需要借助JavaScript来完成一些特殊的互动(动画效果)。# @& T" ]5 J( w& y5 |
(function() {% l, q, d6 a0 e
$(function() {
* ]4 h1 g- g% _6 cvar columns, current, easing, grid, hideItem, showItem, time,
" [3 x7 U, C% g' _8 }: s' h_this = this;
  }' s5 d0 [: w! {  }$ v9 P; @grid = $(".grid");
7 y+ J" t: ?- P8 }/ b2 wcurrent = {! U% {: h8 B3 [, z
index: -1,
! ?2 e/ W1 M  Z1 G: v% h$ z; {: fcolumn: 0,, G9 o) u0 @& m! L4 G
line: 0
0 W& J2 N; A5 ?- E};
+ g1 h4 ^7 E1 p2 ~6 n% M8 Ncolumns = 10;
0 U. H  M. w1 d7 u  p3 Seasing = "cubic-bezier(0.165, 0.840, 0.440, 1.000)";
/ E  q9 k7 J( W8 ptime = 400;% s! G4 f. ?4 v; q6 p9 Y
grid.on("mouseenter", "a", function(e) {) m7 O/ F& N% M$ |0 o
var column, el, image, index, info, item, line;
- W  y- x/ n! K7 bel = $(e.currentTarget);3 p: Q: @, J/ {' E# I  r' }8 C
info = el.find(".info");
' ]) S7 q6 m% Vimage = el.find("img");
/ f% m  x0 ]. I9 Q1 U0 yindex = el.parent().index();3 V3 v4 Z1 L! R! J' L. h6 o5 Y( i
column = index % columns;
- t" `& }- Q5 K. `6 s, yline = Math.floor(index / columns);$ G& f& Q- t1 q  B+ K
console.log(index, column, line);2 i1 r) Z" K/ D6 I+ y9 O' A; v- r1 P  E
item = {
3 @+ H: \. U. [) S7 J4 Mel: el,
4 Z8 {9 j% [/ W& V: u0 Jindex: index,  b7 ?0 T- x# ~! ~8 m% x
column: column,8 W) V8 J3 k2 m6 \+ B* X
line: line,) T: l8 F8 ?1 l: m4 D3 X0 Q( Y
info: info,
) V/ {* f" w. Y) Pimage: image
3 L$ ~8 I# U5 o};7 G; ]- C7 z$ O' @8 \
if (current.el && current.index === index) return;4 g5 n: d- C/ t/ y- n
if (line === current.line && column > current.column) {
' B. O/ d' w8 i" Z* c" DshowItem(item, "-100%", 0, "25%", 0);
3 |2 P9 a# i0 R! GhideItem(current, "100%", 0, "-25%", 0);
/ c/ m' Q9 A. E! c4 n. 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) {0 u! g; n$ e& l- S
showItem(item, 0, "-100%", 0, "25%");. L0 c/ m+ w& |" G: S
hideItem(current, 0, "100%", 0, "-25%");
7 v! Y! ^! O; s& \} else {8 D  V. q- G8 P7 _; B/ n- @
showItem(item, 0, "100%", 0, "-25%");
- [8 z( j+ Q0 Q1 Y/ BhideItem(current, 0, "-100%", 0, "25%");# M2 s5 ~* L4 s; a" [
}, l4 Y* A) {7 ~; p0 U% G
return current = item;
! e3 _3 ^4 M4 P; ^});& d- W% g, W1 }! e
showItem = function(item, infoX, infoY, imageX, imageY) {$ a% _/ B: o7 W4 \6 Q6 q
item.info.stop().css({
5 G$ I' X1 O7 e) E9 Xx: infoX,) M' Y% X% ^% P) b+ e* u* T9 n
y: infoY,2 j& K" b: s/ y% b
display: "block"
# Z9 B# w. z- H}).transition({) h& p% T. o3 o& S" I
x: 0,/ p3 j# |6 ]* [7 z# i
y: 0,
( E& B( u2 A/ `/ O6 a7 _duration: time,' N& o5 v* x9 N" Y! D
easing: easing9 f! X$ t$ q* P
});( Q2 C, l5 G( L! D- c4 T1 P' m
return item.image.stop().transition({
- O0 y2 h3 z6 [  [x: imageX,
: j" `1 w/ a8 ~4 |" g/ fy: imageY,$ L! x% G0 R5 W: }: m- z
opacity: .5,
/ V3 {  s( t. Wduration: time,  v5 u$ \. ~- A
easing: easing! g$ I. z4 b4 a
});5 w+ H$ f* \9 i- p/ D
};: V  f. x3 P" J/ {+ A; n8 s
return hideItem = function(item, infoX, infoY, imageX, imageY) {/ j4 M: }2 `4 B9 O2 l
if (!item.el) return;" \# r# n7 ^, s/ s. I
item.info.stop().transition({
2 E2 p9 s# \+ {: G6 u% dx: infoX,
6 {' O# X2 n* F# ]) U: N1 hy: infoY,$ b  j0 e# ?3 Y2 V" L8 v: E. t
duration: time,
% o  v9 @- K6 C: r# R6 Reasing: easing4 c+ V  z& b; c: j
});' b  j- p& T7 N( E6 D) _0 K" p
return item.image.stop().css({
& J- F% \' Z6 [' Y0 @x: imageX,: k& e9 d7 I; _/ K
y: imageY,
' a: L6 V/ P. [; [" |. S: ?opacity: .5& F+ W+ k/ R3 p; r6 U( K% A' C
}).transition({' O7 f% ]& Z/ v2 V/ |1 Y
x: 0,
4 M  K6 _' j& S& v$ U% j' ^y: 0,& [5 [! `! @* r! a
opacity: 1,
- U8 a* ?; R. |5 w, {+ B; l* ~, P# _duration: time,
$ G; W& M. }' v: r) W7 P' b8 ^easing: easing2 T3 I' f9 x  D
});2 V: K) m. z% L: F8 F6 Y2 |) w
};
; }* l# Z2 s) O$ g6 R});. x: ~) h! V" t" i* t0 B, G/ r
}).call(this);

" Y# z3 R) S$ i+ I$ j' I
  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规则,所以它不能兼容旧版本的浏览器。1 g; f5 C6 |6 v7 @$ {

% q) I* v& V) }0 g: Q) [下载附件:http://www.webjx.com/files/soft/1_130711103319.rar) `6 B1 q1 P- Z- }2 W9 R1 Z& U
今天的示例就到这里了,希望大家喜欢,如果有问题可以在下方留言,一起探讨研究。

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