知道css裡有個centent屬性嗎?怎麼用的?

2021-08-20 16:36:55 字數 1995 閱讀 3514

一.背景介紹

學習前端知識我們常常提到盒模型,盒模型的幾個要素,margin、border、padding 、content這四個屬性,前三個經常用到講到,但第四個content屬性怎麼用? content顧名思義,就是「內容」,它的作用就是在css中直接生成網頁顯示的內容。content屬性還有一些新的特徵,例如:插入以及移除文件內容的能力,以建立腳注,結語,及段落注釋。 但是目前暫時還沒有瀏覽器支援content的擴充套件功能。

二.知識剖析

content 屬性與 ::before 及 ::after 偽元素配合使用,用於定義元素之前或之後放置的生成內容。 ::before和::after的作用就是在指定的元素內容之前或者之後插入乙個包含content屬性指定內容的行內元素. 需要注意的是如果沒有content屬性,偽類元素將沒有任何作用。但是可以指定content為空,插入的內容預設是乙個行內元素,並且在html源**中無法看到, 這就是為什麼稱之為偽類元素的理由,所以也就無法通過dom對其進行操作。

三.常見問題

為什麼content屬性很少用到?

四.解決方案

一是因為相容性的問題,content僅在css可用的現代瀏覽器下起作用;二是因為content需要和:after與:before結合起來使用, 而偽元素不是真實的dom節點,只是實現了一些特定的效果,無法繫結事件,就無法過dom進行操作使用。

五.編碼實戰

1.插入純文字。content屬性與 ::before 及 ::after 偽元素配合使用生成文字內容。

2.嵌入文字元號。使用content屬性的open-quote屬性值和close-quote屬性值在字串兩邊新增諸如括號、單引號、雙引號之類的巢狀文字元號。open-quote用於新增開始的文字元號,close-quote用於新增結束的文字元號。

3.插入。content屬性也可以直接在元素前/後插入, content:url()。

4.插入元素的屬性值。content屬性可以直接利用attr獲取元素的屬性,將其插入到對應位置。 attr(attribute),是屬性的意思,attr(href),也就是獲取href裡面的值填充到content裡面啊,這是css3的用法。 語法為::after

5.計數器用法。content屬性可以插入編號,可以修飾,可以指定編號種類,還可以在編號中進行巢狀。

六.擴充套件思考

content:"."是怎麼實現清除浮動的?

如果有乙個div作為外部容器,內部的div如果設定了float樣式,則外部的容器div因為內部沒有clear,導致不能被撐開。 這個對這個盒子使用::after這個偽元素,在盒子的結尾新增content屬性,新增了乙個句號".", 並設定display為block;高度設為0;clear設為both;visibility設為隱藏。這樣就達到了撐開容器的目的。

七.參考文獻

參考一: css3的content屬性詳解

參考三:w3c對content的解釋

八.

更多討論

問題一:content在瀏覽器相容情況怎麼樣?

目前主流瀏覽器基本都支援counter-reset屬性。注意: 因為在ie6 和ie7 以及ie8的ie7相容模式中,:before 和:after 都不被支援,所以可以認為它們都不支援content 屬性,測試也就毫無意義,所以這個列表將ie6、ie7和ie8的ie7相容模式忽略。ie8只有指定!doctype才支援counter-reset屬性。

除了生成篇數、章節和段落以外,css計數器還被應用於計算資料型別的小遊戲當中。

凡是clear:left或者clear:right起作用的地方,一定可以使用clear:both替換。原因在於,clear屬性是讓自身不能和前面的浮動元素相鄰,而float屬性要麼就left要麼就right,不可能同時存在。由於clear屬性對「後面的」浮動元素不聞不問,因此,當clear:left有效的時候,clear:right必定無效,也就是此時clear:left等同於設定clear:both,反之亦然。

ppt感謝黃志波|羅宇|隋鑫師兄和馮馨雨師姐,此教程是在他們之前技術分享的基礎上完善而成。 

手機裡有個女孩的號碼

無意中翻開手機通訊錄,看到那個熟悉而又陌生的號,內心浮出一種莫名的感覺.不記得從什麼時候開始,那個號就在也沒呼出去過.它一直靜悄悄躲在那兒.她在躲避,我.忽.也在逃離.wo們真心愛過也彼此傷害過.我不會說對不起,那太假了.離開就離開了沒必要虛偽.今天我要刪掉她,讓過去不在留一絲痕跡.再見了.不.不要...

C 裡有個東東叫繼承

學c 的時候,學到很多沒在別的語言裡見過的繼承手段。比如用base方法呼叫基類建構函式。這個好神奇,只要在子類建構函式後面加個base 就能呼叫基類的不同建構函式。話不多說,貼 using system using system.collections.generic using system.li...

念數字 裡有 兩個錯誤!!!!

7 9 念數字 15 分 輸入乙個整數,輸出每個數字對應的拼音。當整數為負數時,先輸出fu字。十個數字對應的拼音如下 0 ling 1 yi 2 er 3 san 4 si 5 wu 6 liu 7 qi 8 ba 9 jiu 輸入在一行中給出乙個整數,如 1234。在一行中輸出這個整數對應的拼音,...