CSS中的content屬性使用教程

Content屬性應該算是使用最常用的一個css屬性之一吧,比如我們創(chuàng)建一個聊天氣泡、超鏈接的立體翻轉特效、添加圖標。都要使用到content屬性,當然這個屬性要結合:before和:after偽類使用。下面詳細介紹它的用法。
字符串
可以添加任意的字符串,用括號包圍。另外可以使用UTF-8特殊字符(哪些特殊字符可用查看這里),以\開頭。如下
這是一個在元素前面或後面插入內容的方法(搭配 selector:before和selector:after)
HTML:
- <a class="yahoo" href="http://www.yahoo.com.tw">Yahoo</a>
- <a class="google" href="http://www.google.com">Google</a>
CSS:
- .google:after {
- /* 前後加入~~字串 與網(wǎng)址串接*/
- content:"~~" attr(href) "~~"
- }
運行結果就很直觀了。content屬性的值除了使用文本值外,還可以使用標簽的一些屬性值,方法是attr(),參見如下代碼:
- a.content:after {
- content: attr(href);
- }
- <a class="content" href="http://www.zhangxinxu.com/">此標簽的href值是:</a>
結果如下截圖(截自Firefox3.6):
URI
使用url()可以載入外部資源,主要是一些圖標和圖片,如果資源不可以顯示有的瀏覽器會忽略它,有的會顯示替代文本。
代碼:
- p:before{
- content:url(http://yeebing.u.qiniudn.com/wp-content/themes/expound/images/favicon.ico);
- }
不過導入的圖片是不能改變寬高的,必須預先設定好。筆者一般使用background載入圖片,然后使用background-size調整尺寸。如下圖,前者使用content載入圖片,無法改變圖片寬高,后者是是使用background載入圖片的效果。
代碼:
- p:before{
- content:url(http://yeebing.u.qiniudn.com/wp-content/uploads/2013/11/Avatar_by_DeMoN8EyE-287×300.png);
- display:block;
- width:80px;
- height:80px;
- overflow:hidden;
- }
- p:after{
- content:“”;
- display:block;
- width:80px;
- height:80px;
- background-image:url(http://yeebing.u.qiniudn.com/wp-content/uploads/2013/11/Avatar_by_DeMoN8EyE-287×300.png);
- background-size:80px 80px;
- overflow:hidden;
- }
HTML元素屬性
attr(x)函數(shù)將選擇器對象的屬性(包括自定義屬性)作為字符串返回,如果為空則返回空字符串。X的大小寫依賴于HTML的文檔類型。本站文章的超鏈接就是使用到了這個函數(shù)
代碼:
- p:before{
- content:attr(title)“:”;
- }
引號
open-quote和close-quote
這兩個值被來自于quotes屬性設置的字符替代
用法:
HTML
- <p lang=“en”>English</p>
- <p lang=“zh”>中文</p>
CSS
- p:lang(zh){quotes: “«” “»” “‹” “›” }
- p:lang(en){quotes: ’“‘ ’”‘ “‘” “‘” }
- p:before{
- content:open-quote;
- }
- p:after{
- content:close-quote;
- }
注:元素要指定語言要使用lang屬性
no-open-quote和no-close-quote
是不是對剛才quotes后面附加的“‘” “‘” 以及“<” “>”的用法有點疑惑呢?其實在其父元素上使用no-open-quote和no-close-quote就可以使用到后面那兩個引號了。no-open-quote和no-close-quote旨在減少引號的嵌套,如下
代碼:
HTML
- <span><p lang=“en”>English</p></span>
- <span><p lang=“zh”>中文</p></span>
CSS
- p:lang(zh){quotes: “«” “»” “‹” “›” }
- p:lang(en){quotes: ’“‘ ’”‘ “‘” “‘” }
- span:before{
- content:no-open-quote;
- }
- span:after{
- content:no-close-quote;
- }
- p:before{
- content:open-quote;
- }
- p:after{
- content:close-quote;
- }
計數(shù)器
counter相當于一個變量,根據(jù)css規(guī)則的增加以跟蹤使用次數(shù)。它有三種形式:
counter-reset重置計數(shù)器默認值
counter-increment增加計數(shù)器
counter()和counters()獲取計數(shù)
用法:
- <ul>
- <li><img src=“../Pictures/3BC850D9B55874714E0667170AE02FFE8349FFE0F1DDE_800_1200.jpg”/></li>
- <li><img src=“../Pictures/7A7D77703B6EFAF4E5002D0E66FFF8380F1F49A565A91_673_1010.JPEG” /></li>
- <li><img src=“../Pictures/k-10.jpg” /></li>
- </ul>
- ul{
- countercounter-reset:photocount;
- }
- img{
- width:100px;}
- li{list-style:none;
- display:inline-block;}
- li:before{
- content:“圖” counter(photocount);
- countercounter-increment:photocount;
- }
counter-reset
必須定義與計數(shù)元素的父元素。默認值是從0開始的,我們可以增加一個參數(shù)來定義默認值,如counter-reset:photocount 5;,定義從5開始
counter-increment
一般跟隨在counter()后面,用于增加計數(shù)值,默認的步長值是”1″,同樣我們可以改變它,如counter-increment:photocount 2;定義步長為2
counter()和counters()
counter(name,style)計數(shù)的默認值是十進制,我們可以改變它的樣式比如:content:counter(photocount,upper-alpha);
注:style值同list-style
counters(name,string,style)對于計數(shù)器嵌套則必須使用counters了,string為分割的字符,style為樣式
代碼
- HTML
- <ul>
- <li>項目
- <ul>
- <li>項目</li>
- <li>項目</li>
- <li>項目</li>
- </ul>
- </li>
- <li>項目</li>
- <li>項目
- <ul>
- <li>項目</li>
- <li>項目</li>
- <li>項目
- <ul>
- <li>項目</li>
- <li>項目</li>
- <li>項目</li>
- <li>項目</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
CSS
- ul{
- countercounter-reset:count;
- }
- li{list-style:none;
- }
- li:before{
- content:counters(count,“.”) “ ”;
- countercounter-increment:count;
- }
相關文章
- CSS3中的font-face可以將我們上傳的自定義的字體顯示出來,有時比如我們要顯示英文音標的字體時便需要用到,本文就整理了一下使用CSS3的font-face字體嵌入樣式的方法講解,需2016-05-13
- CSS Hack的目的是兼容各種瀏覽器,然而IE總是個例外的存在,特別是IE8,而IE8又是Windows 7的IE的默認內置版本...偶然嘗試出了僅針對IE8有效的CSS Hack獵奇寫法,下面與大家分2016-05-13
- 下面小編就為大家?guī)硪黄肅SS使footer固定在頁面底部的實例代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-13
純CSS3實現(xiàn)的29款超全頁面加載loading動畫庫Loaders.css特效源碼
是一段實現(xiàn)了29款常用且有意思的頁面加載loading動畫庫效果的Loaders.css代碼,本段loading加載動畫代碼適應于所有網(wǎng)頁使用,有興趣的朋友們可以前來下載使用2016-05-12- 本特效代碼是一款基于使用純JavaScript和CSS3來制作炫酷桌面便簽貼紙?zhí)匦У牟寮ticker.js的特效,可以將任何塊級元素轉換為桌面便簽2016-05-12
- 這是一款基于純CSS3繪制可旋轉的太極圖形樣式效果源碼??蓪崿F(xiàn)太極圖形的順時針動態(tài)旋轉效果。該源碼沒有引入任何外部圖形元素,采用純css3技術實現(xiàn)2016-05-12
一款純CSS3代碼實現(xiàn)星系軌道旋轉網(wǎng)站菜單特效源碼
一款純CSS3代碼實現(xiàn)星系軌道旋轉網(wǎng)站菜單特效源碼,其中圓球和光效是圖片,主要運動了css的animation,transform,transition屬性。需要的朋友前來下載源碼2016-05-12- CSS3實現(xiàn)鼠標中輪滾動樹生長的過程特效源碼是一款基于jQuery+CSS3+HTML5實現(xiàn)的鼠標滾動視差效果。需要的朋友不妨前來下載源碼2016-05-12
- 這篇文章主要介紹了幾個CSS3的flex彈性盒模型布局的簡單例子演示,flex布局是迄今為止最強大的web布局方式,需要的朋友可以參考下2016-05-12
CSS3中的transform屬性進行2D和3D變換的基本用法
這篇文章主要介紹了使用CSS3中的transform屬性進行2D和3D變換的基本用法,文中同時介紹了使用perspective-origin定義初始位置的方法,需要的朋友可以參考下2016-05-12