详细解说:简单CSS3实现炫酷读者墙
如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处。
先看Demo(请使用Chrome或者Firefox浏览,IE的靠边):
觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行。
使用基础的Html和CSS写出雏形
需要一提的是头像(img)的排版。给外面a标签padding-left:;,img自身float:left;margin-left:;,这种写法避免了不少因浮动产生的问题,且代码简明,推荐适当的使用此方法。
下面是Demo代码:
<ul class="readers-list"> <li><a target="_blank" href="http://lilyxue.blogbus.com/"> <img src="http://ued.ctrip.com/blog/avatar/ default.jpg"><em>点头猪</em> <strong>+10</strong><br>lilyxue.blogbus.com/</a></li> <li><a target="_blank" href="http://www.daqianduan.com"> <img src="http://www.daqianduan.com/ wp-content/themes/d4/img/admin.jpg"><em>浩子</em> <strong>+2</strong><br>www.daqianduan.com</a></li> </ul>
.readers-list{line-height:18px;text-align:left;overflow:hidden;_zoom:1} .readers-list li{width:200px;float:left;*margin-right:-1px} .readers-list a,.readers-list a:hover strong{background-color:#f2f2f2;background-image:-webkit-linear-gradient(#f8f8f8,#f2f2f2);background-image:-moz-linear-gradient(#f8f8f8,#f2f2f2);background-image:linear-gradient(#f8f8f8,#f2f2f2)} .readers-list a{position:relative;display:block;height:36px;margin:4px;padding:4px 4px 4px 44px;color:#999;overflow:hidden;border:#ccc 1px solid;border-radius:2px;box-shadow:#eee 0 0 2px} .readers-list img,.readers-list em,.readers-list strong{-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;transition:all .2s ease-out} .readers-list img{width:36px;height:36px;float:left;margin:0 8px 0 -40px;border-radius:2px} .readers-list em{color:#666;font-style:normal;margin-right:10px} .readers-list strong{color:#ddd;width:40px;text-align:right;position:absolute;right:6px;top:4px;font:bold 14px/16px microsoft yahei} .readers-list a:hover{border-color:#bbb;box-shadow:#ccc 0 0 2px;background-color:#fff;background-image:none} .readers-list a:hover img{opacity:.6;margin-left:0} .readers-list a:hover em{color:#EE8B17;font:bold 12px/36px microsoft yahei} .readers-list a:hover strong{color:#EE8B17;right:150px;top:0;text-align:center;border-right:#ccc 1px solid;height:44px;line-height:40px}
使用并解说所用CSS3
接下来给大家说说这个读者墙所应用到的css3属性,及其具体的使用方法,老鸟可以飞了。
渐变:
background-image:-webkit-linear-gradient(#aaa,#bbb); 这是最简单的线性渐变,所以写起来也比较爽。
渐变方式:由上至下渐变,#aaa开始,#bbb结束
兼容浏览器的写法:-webkit-linear-gradient,-moz-linear-gradient,-o-linear-gradient,linear-gradient
圆角:
border-radius:2px; 不多说,2像素弧度的圆角,对背景、边框、图片都适用。
不要小看这简单的代码,可以当圆规使:
- 圆角矩形;
- 椭圆;
- 圆;
- 可选择性圆角,border-radius:2px 0 0 2px;
圆角方式:border-radius: a b c d; 顺序是:a=上左、b=上右、c=下右、d=下左;
具体怎么个圆法,靠你练习了,这绝对是CSS3中最最常用到的一个属性;
阴影:
box-shadow:len1 len2 len3 len4 color (inset); 详解如下:
- len1:第1个长度值用来设置对象的阴影水平偏移值。可为负值;
- len2:第2个长度值用来设置对象的阴影垂直偏移值。可为负值;
- len3:如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许负值;
- len4:如果提供了第4个长度值则用来设置对象的阴影外延值。不允许负值;
- color:设置对象的阴影的颜色。
- inset:设置对象的阴影类型为内阴影。不设置时,则对象的阴影类型为外阴影
高级用法:box-shadow:len1 len2 len3 len4 color (inset) , len5 len6 len7 color ; 属性后可以跟多个阴影配置,用逗号隔开。
box-shadow的实际应用相当广泛,不仅可设置对象阴影,还可描边、内发光等等,一般是作为立体效果的按钮。
和box-shadow类似的css3属性text-shadow,设置文本阴影。
变换:
transition:property duration timing-function; 这是定义动画的变换方式,也是css3动画的核心。
property 可以是:
- all – 表示对象内所有元素执行变换;
- none – 表示不执行变换;
duration 是设置整个变换所用的时间,格式:.2s 或 2s ;
timing-function 是设置变换效果,可以是后面的任意一个:ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(x1, y1, x2, y2),默认值时easy;各个值的效果不同,各式各样的变换效果可以满足部分体验的需求。
兼容浏览器的写法:-webkit-transition,-moz-transition,-o-transition,transition
结语
css3确实很强大,但不要泛滥使用,恰到好处的使用css3会给交互带来很好的体验。
So,更多的了解和学习css3的各个属性的使用方法是必须的,尤其是用在移动开发上。