如何用css3制作相册翻页效果

html-css09

如何用css3制作相册翻页效果,第1张

用css3制作纸张效果

一、中规中矩的效果

所谓“中规中矩的效果”就是加个投影,贴个胶带什么的。效果如下:

CSS3的box-shadow投影效果,相关代码如下:

代码如下:

-moz-box-shadow: 0 2px 10px 1px rgba(0, 0, 0, 0.2)-webkit-box-shadow: 0 2px 10px 1px rgba(0, 0, 0, 0.2)box-shadow: 0 2px 10px 1px rgba(0, 0, 0, 0.2)

反而是上面的胶带纸效果有点说头,这些微微倾斜的胶带是CSS写出来的,大部分效果源自CSS3,主要有RGBA显示半透明背景色,box-shadow显示淡淡的投影,transform做旋转效果;元素使用after伪类生成,完整代码如下:

代码如下:

.page:after { width: 180pxheight: 30pxcontent: " "margin-left: -90pxborder: 1px solid rgba(200, 200, 200, .8)background: rgba(254, 254, 254, .6)-moz-box-shadow: 0px 0 3px rgba(0, 0, 0, 0.1)-webkit-box-shadow: 0px 0 3px rgba(0, 0, 0, 0.1)box-shadow: 0px 0 3px rgba(0, 0, 0, 0.1)-moz-transform: rotate(-5deg)-webkit-transform: rotate(-5deg)-o-transform: rotate(-5deg)transform: rotate(-5deg)position: absoluteleft: 50%top: -15px}

老外似乎很喜欢使用before和after伪类,国外最近的些教程,技术点等经常见到此玩意。我个人感觉有跟风之嫌,就像是狂热的经济泡沫,不需 要太久,大家会冷静下来重新审视这些曾经上手简单,自我感觉不错的方法。由于目前IE6/7不支持before/after类,所以,某种意义上来说,伪 类的使用少了些兼顾IE下显示的烦恼。

二、外翻卷角纸张效果

纸张一般都是有卷角的,所以,我们可以更近一步,模拟卷角效果来使得纸张的感觉更逼真,这里就要借助于投影了,且是曲线投影。

我们还可以给纸张增加渐变(gradient)效果,以模拟纸张的曲度。

同时,可以给文字增加投影,可以让文字有书写的凹陷感,可以进一步让纸张效果更逼真。

于是,在“中规中矩”纸张基础上,我们做点小手术,结果得到下面的效果:

您可以狠狠地点击这里:渐变卷边纸张效果demo

目前貌似opera浏览器还不支持CSS3渐变,同时webkit核心下浏览器下的gradient渐变的写法已经开始向FireFox浏览器靠拢了。确实,都是CSS3,有必要搞得五花八门吗?

相关渐变CSS代码如下:

代码如下:

background:-moz-linear-gradient(top, #f4f39e, #f5da41 60%, #fe6)background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#f4f39e), to(#fe6), color-stop(.6, #f5da41))

在60%的位置有个颜色拐点。

关于弧形的投影,也是使用:before/:after伪类实现的,相关代码如下:

代码如下:

.page:before { -webkit-transform: skew(-15deg) rotate(-5deg)-moz-transform: skew(-15deg) rotate(-5deg)-o-transform: skew(-15deg) rotate(-5deg)transform: skew(-15deg) rotate(-5deg)left: 15px} .page:after { -webkit-transform: skew(15deg) rotate(5deg)-moz-transform: skew(15deg) rotate(5deg)-o-transform: skew(15deg) rotate(5deg)transform: skew(15deg) rotate(5deg)right: 15px} .page:before, .page:after { width: 90%height: 20%content: ' '-webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3)-moz-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3)box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3)position: absolutebottom: 22pxz-index: -1}

要想查看效果的完整代码,demo页面查看源文件即可,脱光光,一览无遗。

这里的曲线投影卷角效果支持Opera浏览器,如下截图:

三、带分隔线的卷纸纸张效果

上面的纸张卷角效果是通过曲线投影效果来模拟的,而这里,纸张的卷边效果是纸张真的“曲线化”了,而且,还是带隔线的纸张效果哦,您可以参见下面的效果截图(Chrome 9):

这里,Firefox浏览器下的纸张隔线使用的是重复渐变(Repeating Gradients)实现的,对于webkit浏览器,使用的是background-size实现的。实际上,Firefox3.6+已经支持background-size属性了(-moz-background-size), 所以,对于Firefox浏览器,这里使用重复渐变与渐变+background-size是等效的。在FireFox4以及IE9浏览器中 background-size属性已经没有私有属性了,Opera浏览器在9.5版本时候就已经支持background-size属性了,但是存在一 些bug。

这里分隔线实现的相关CSS如下:

代码如下:

background: -moz-repeating-linear-gradient( top, #fcf59b, #fcf59b 29px, #81cbbc 30px )background: -webkit-gradient( linear, left top, left bottom, from(#81cbbc), color-stop(2%, #fcf59b) )background: repeating-linear-gradient( top, #fcf59b, #fcf59b 29px, #81cbbc 30px )-webkit-background-size: 100% 30px

而对于曲边的实现,使用的是border-radius圆角,这里展示下示意的代码:

代码如下:

border-bottom-left-radius: 20px 500pxborder-bottom-right-radius: 500px 30pxborder-top-right-radius: 5px 100px

当然,FireFox浏览器下的写法不是如此,其bottom, left是连起来的,而不是”-”分隔,这里仅仅是示意,这里的微曲线是如何实现的。相信看到上面的代码就知道意思了,这里就不啰嗦了。

还有其他些细节,如如何控制行高让文字与隔线一一对应,这些您要是有兴趣可以去demo页面,通过查看元素等方法一看究竟。

四、最后点老生常谈

难免的,本文的重点在于CSS3,所以就本文而言,IE6/IE7/IE8浏览器就是过来打酱油的,且三个纸张效果从一而终,都是下面这副模样:

虽然没有透明胶效果,没有投影,没有卷边,更没有分隔线,但是,就功能上来讲,一点都不影响使用。所以,无论你是渐进增强还是退求其次,纸张投影效果在实际项目中的应该也不是不可以的,这就要看个人和团队的抉择了

过来坐坐吧,里面的东东那是相当得多

http://hi.baidu.com/xzj4167/blog/item/c0ee18afbe1f16f9fbed509a.html

壹 .CSS语法有关:

一53个CSS-不可或缺的技巧

二 CSS的十八般技巧(提高版)

三 玩转CSS CSS精彩实例教程

四 CSS代码图解(转)

五CSS语法手册

六基本颜色代码+

七CSS基本语法总整理

八 百度空间模块css代码

九 百度空间 CSS更全面解释 以及 参数属性

十 CSS在线编辑器

贰,CSS技巧

一 Iframe 用法的详细讲解- -

二无缝调用不同模板CSS的办法:

下载百度默认模板

三如何让百度空间上出现日历和时钟

四QQ空间跳转百度空间

五“自定义模块”代码详解

六让空间拥有精美flash背景!

七让自己的空间下雨

八宣传百度空间的6种方法,你知道吗?(

九空间个人档案的有关设置 :

个人档案添加图片

十 隐藏你不想显示的模块

十一给自己的主页加上漂亮的计数器

十二添加小图标,以及小图片:

1文章日期旁加小图案,

2标题栏主体加小图案,

3如何在文章标题前加图片

十三如何增加一个象spaces一样的弹出窗口

十四超链接的有关设置:

1 给超链接添加按钮效果,

2禁止选择/*鼠标触碰 按钮下陷,

3给链接添加背景色效果代码

十五友情连接的应用:

1连接邮箱;

2链接QQ;

3添加“加为好友”的链接:

十六 空间文章板块的有关设置:

1 定义阅读文章时 文章块宽度 距左长度,

2文章列表板块文章区边框的设置,

3日志背景,

4空间个性图片效果,

5图片添加灰色边框效,

6文章区的文字与边框之间的距离调整,

7去掉文章题目下划线

8文章中插入多媒体(视频)

十七空间 模板 以及 图片 的有关设置:

1/*背景设置*/

2/半透明设置*/

3/*常用插入时间图片位置的代码*/

4/*留言板添加图片*/

5/*前景图片透明设置*/

6各部分背景设置

7评论下增加背景图

8如何固定空间背景

9.如何在所有页面底部加入图片

10/*最顶部加字方法!*/

11/*空间整体宽度*/

12/*版块长度及间距*/

13/*去除模块背景即完全背景透明*/

14/*改变你的按钮和输入栏的颜色及字体*/

15/*更多文章居右*/

16*添加天气预报*/

17/*隐藏“查看该用户在百度的”分类*/

18/*添加LOGO*/

19背景色的半透明设置

20设置透明背景图

21主页的个人档案,档册,其它显示透明

22:自定义背景

23让你的百度空间里每一个连接都新窗口中打开

24:屏蔽屏蔽空间任何一个版块

25头部时间显示特效”:

26改变百度空间的模块宽度

27如何改变空间名称的效果

28如何在百度空间上显示天气预报、系统信息、日历、问候、签名。

29专栏分割线的CSS代码修改方法

十八 空间TAB菜单的有关设置:

1如何为TAB菜单加上花边

2如何改变TAB菜单栏的位置及颜色

3/*调整TAB距离*/

4如何在个人控制条中间加时钟

5竖状菜单

十九空间其他版块的有关设置:

1给其它的中间部分加图片

2/*其他模块标题添加图片*/

3教你加显示IP地址代码

4自定义显示IP的项目的颜色

5/*百度空间显示排名*/

6/*其他模块已有XXXX人次访问本空间数字字体设置 */

7在百度空间里面添加自己的特效

二十 空间字体的有关设置:

1百度空间文字发光的方法

2/*阴影效果字体阴影*/

3/*投影的代码*/

4自制闪字空间名称

二十一 空间 背景音乐 播放器 的有关设置:

1如何隐藏播放器而不影响音乐播放

2背景音乐支持多首歌曲

3/*播放器*/

4播放器大小调整

5特色播放器

6玩转百度空间的"背景音乐"板块

7如何在百度空间里添加多首背景音乐(图解)

二十二背景色的半透明设置

二十三打造一个自己的百度空间"其他板块"

二十四做分割线的方法

二十五在空间里加入滚动条:

1想添加滚动条,只需下面的代码即可

2如何让你的浏览器滚动条变色

3透明个性化滚动条

二十六 教你如何制作个性化的标题栏(转自玩转百度空间)

二十七 跟我一起玩百度空间+CSS教程+

二十八 空间评论区的有关设置

二十九给空间加点可爱的符号

三十关于空间制作的链接:

1.让你看懂css各个参数

2.百度空间CSS使用说明

3.怎样编写CSS的!

4.CSS代码解密

5.一个CSS的漏洞

6.增加自定义模块功能

7.更换主体及文章的背景

8.透明flash代码

9.百度空间十大宝藏

10.制作个性化的标题栏

11.看到更多的百度空间

12.百度空间的8个优缺点

13.专栏分割线的代码修改

14.添加自己的LOGO图片

15.宣传百度空间的方法

16.添加多首背景音乐

17.设置透明背景图

18.更改空间的鼠标样式

19.在空间里加入滚动条

20.透明的背景音乐的播放器

21.透明个性化滚动条

22.给链接添加背景色效果代码

23.显示"点击给你发消息"怎么在空间做!

24.去掉文章题目下划线

25.常用插入图片位置的代码

26.如何隐藏播放器而不影响音乐播放

27.如何有字体阴影

28.自制闪字空间名称

29.解决回车换两行的问题

30.调整一下行距

31.让空间拥有精美flash背景

32.让空间自动弹出对话框!

33.修改blog显示的文字颜色大小

34.如何让你的浏览器滚动条变色

35.为评论和链接加上图片

36.如何在"其它"下面加上图片

37.百度空间的名称如何用艺术字?

38.百度空间文字发光的方法

39.文字快速插链接

40.空间模块巧移动

41.个性化你的IP显示,自定义颜色

42.全透明

43.空间背景半透明

44.如何在百度空间的文章标题周围加花边图案?

45.关于百度空间照片大小限制的问题!!!

46.如何在百度空间发表文章时插入FLESH动画?

47.怎样换百度空间的背景

48.做分割线的方法

49.在百度空间里面添加自己的特效

50.在文章中快速插入图片

51.添加计数器的两种方法

52.如何在空间顶部加入图片

53.发表评论框的图片

54.改变空间主页名称和简介的字体大小

55.给超链接添加按钮效果

56.如何给评论框添加背景

57.Iframe 用法的详细讲解

58.背景图片素材01

59.图片素材20060929

60.我的自定义设计

61.CSS鼠标样式大全

62.跟我一起玩百度空间的音乐和视频+

63.为<好友列表>增加一个滚动条

64.空间模块巧移动 + 文字快速插链接

65.怎么去掉百度空间里模块的框框!

66.基本颜色代码+

67.在你的空间中加入幽默元素..

68.百度空间吧[精品]贴+

三十一边框风格属性(border-style)

用css的:hover伪类。

给你介绍下css的伪类。

a:link {} /* 未访问的链接 */

a:visited {} /* 已访问的链接 */

a:hover {}/* 当有鼠标悬停在链接上 */

a:active {} /* 被选择的链接 */

但是你说的img实现的不如用css的background来实现更容易些,不过你还需要准备这六块鼠标放在上面变灰的图片。当鼠标悬停在某张图片时,背景自动换成灰的。