[转]详细解说:简单CSS3实现炫酷读者墙

最近折腾css3,烦躁中翻到这么一文,又有动力了,日!

以下全文↓

如题,给大家介绍和讲解几个常用的CSS3属性,并用到实处。

先看Demo(请使用Chrome或者Firefox浏览,IE的靠边):

此Demo地址为:演示携程UED读者墙

觉得爽的可以继续阅读下面的知识点,感觉不爽的可绕行。

 

使用基础的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的各个属性的使用方法是必须的,尤其是用在移动开发上。

本文作者:浩子 转载请注明来自:携程UED

posted @ 2011-12-01 16:50  猪在飞啊  阅读(304)  评论(0编辑  收藏  举报