本文地址:http://www.w3cplus.com/solution/css3content/css3content.html
这篇文章挺不错的,建议看一下。
content一般和:before,:after一起使用,用来生成内容(img和input没有该属性),content的内容一般可以为以下四种:
- none: 不生成任何值。
- attr: 插入标签属性值
- url: 使用指定的绝对或相对地址插入一个外部资源(图像,声频,视频或浏览器支持的其他任何资源)
- string: 插入字符串
none
其实我们常用的clearfix就是应用了这个none了
Css Code
.clearfix:after { content: ""; visibility: hidden; display: block; font-size: 0; clear: both; height: 0; } * html .clearfix { zoom: 1; } /* IE6 */ *:first-child+html .clearfix { zoom: 1; } /* IE7 */
attr: 插入标签属性值
普通文字demo
青,取之于蓝,而青于蓝;冰,水为之,而寒于水。
Css Code
.attr-title:after{ content:attr(title); color:#f00; }
图片滑过动画效果
Css Code
#imghover li{ position:relative; margin-right:20px; } #imghover a:after{ content:attr(title); position:absolute; top:0; left:0; 100%; background-color:rgba(0,0,0,0.5); line-height:30px; color:#fff; text-align:center; font-size:14px; text-shadow:-1px -1px 0 rgba(0,0,0,0.8); opacity: 0; -webkit-transition:all 0.3s ease; -moz-transition:all 0.3s ease; -ms-transition:all 0.3s ease; -o-transition:all 0.3s ease; transition:all 0.3s ease; } #imghover a:hover:after{ top:50%; margin-top:-15px; opacity: 1; }
url: 使用指定的绝对或相对地址插入一个外部资源
Css Code
#icon_list a{ font-size:16px; } #icon_list a[href]:before{ content:''; margin-right:5px; } #icon_list a[href$='.txt']:before{ content:url(images/icon_txt.gif); } #icon_list a[href$='.pdf']:before{ content:url(images/icon_pdf.gif); } #icon_list a[href$='.doc']:before{ content:url(images/icon_doc.gif); } #icon_list a[href$='.jpg']:before{ content:url(images/icon_pic.gif); } #icon_list a[href^="mailto:"]:before{ content:url(images/icon_mailto.gif); }
string: 插入字符串
其实关于插入字符串,这个页面结构已经应用了很多了,第一个是h2标题左边的蓝色一块,第二个是鼠标滑过代码区的动画效果,第三个就是footer部分的emailto旁边的小图标,如果有兴趣可以用firebug查看查看,这个主要说下如何应用content做计数器
- css3新增的选择器
- 属性选择器
- 结构伪类选择器
- 增强的文本和颜色功能
- 文本阴影,文本换行,溢出文本
- rgba色彩模式
- 新增的弹性盒模型
- box布局
- 弹性布局实战
Css Code
#counter li{ margin-left:0; list-style:none outside none; counter-increment: title1; } #counter li:before{ content:"第"counter(title1)"章:"; font-size:14px; color:#f00; } #counter li li{ margin-left:25px; counter-increment: title2; } #counter li li:before{ content:counter(title1)"."counter(title2); }
关于content计数器的应用可以参考这两篇文章CSS Counters – The Right Way to Organize Your Ordered Content,CSS content, counter-increment 和 counter-reset详解
插入特殊字符
在这篇文章的最后,说下如何在content里面插入特殊字符,关于特殊字符可以参考这里:html特殊字符,请先查阅其实用方法,即第一列为符号;第二列为html中使用的,需在前面加上&#;第三排css中可以使用,不过需要反斜杠转义。下面实例操作下
- css3新增的选择器
- 增强的文本和颜色功能
- 新增的弹性盒模型
- copyright
Css Code
#special li:before, #special li:after{ color:#f00; } #special li:nth-child(2n+1):before{ color:#ccc; } #special li:first-child:before, #special li:first-child:after{ content:"25ba"; } #special li:first-child:after{ -webkit-transform:scale(-1); -moz-transform:scale(-1); -ms-transform:scale(-1); -o-transform:scale(-1); transform:scale(-1); } #special li:nth-of-type(2):before{ content:"2714"; } #special li:nth-child(3):after{ content:" 0bb"; } #special li:last-of-type:before{ content:" 0a9"; margin-right:5px; }
注:这里顺便多应用了下css3的子元素选择器,然后对于第一的after箭头,通过transform的scale为-1来左右调转