在Web中插入內容,在CSS2.1時代依靠的是JavaScript來實現。但進入CSS3進代以後咱們能夠經過CSS3的僞類「:before」,「:after」和CSS3的僞元素「::before」、「::after」來實現,其關鍵是依靠CSS3中的「content」屬性來實現。不過這個屬性對於img和input元素不起做用。css
content配合CSS的僞類或者僞元素,通常能夠作如下四件事情:html
功能瀏覽器 |
功能說明url |
nonespa |
不生成任何內容code |
attr視頻 |
插入標籤屬性值htm |
urlblog |
使用指定的絕對或相對地址插入一個外部資源(圖像,聲頻,視頻或瀏覽器支持的其餘任何資源)ip |
string |
插入字符串 |
實例展現:
在CSS中有一種清除浮動的方法叫「clearfix」。而這個「clearfix」方法就中就使用了「content」,只不過只是在這裏插入了一個空格。以下所示:
.clearfix:before, .clearfix:after { content:」」; display:table; } .clearfix:after { clear:both; overflow:hidden; }
上面這個示例是最多見的,也是最簡單的。
(1)咱們再來看一個插入元素屬性值(attr)的方法。
假設咱們有一個元素:
<a href="##" title="我是一個title屬性值,我插在你的後面">我是元素</a>
能夠經過」:after」和」content:attr(title)」將元素的」title」值插入到元素內容「我是元素」以後:
a:after { content:attr(title); color:#f00; }
效果以下:
(2)插入字符串
h2:before { content: "我是額外文字!"; }
<h2>我是標題</h2>效果以下:
我是額外文字!我是標題
(3)插入一個外部資源(圖像,聲頻,視頻或瀏覽器支持的其餘任何資源)
index.html:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>CSS生成內容</title> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <h1>我是標題,在我前面插入內容吧</h1> </body> </html>
h1:before { content:url("http://s11.sinaimg.cn/mw690/905e347bge076884ef80a&690"); }