初識(shí)偽元素

初識(shí)

這篇文章是第一次系統(tǒng)的了解偽元素的一個(gè)記錄,以前也知道偽元素动漾,但是處于一知半解的狀態(tài)丁屎。又碰巧前段時(shí)間被人問(wèn)起偽元素卻什么都說(shuō)不出來(lái),所以這次就完全的了解一下偽元素旱眯。

什么是偽元素悦屏,他存在的意義是什么?

CSS introduces the concepts of pseudo-elements and pseudo-classes to permit formatting based on information that lies outside the document tree.
CSS引入了偽元素和偽類(lèi)的概念键思,以允許基于格式化位于文檔樹(shù)之外的信息础爬。

這是官方的解釋?zhuān)@里又引入了一個(gè)概念,什么是文檔樹(shù)吼鳞?
文檔樹(shù)看蚜,就是文檔層次形成的樹(shù),就是平常寫(xiě)的html,比如

<html>
  <body>
    <div>
    </div>
  </body>    
</html>

這就是一個(gè)文檔赔桌,里面一堆dom形成的結(jié)構(gòu)就叫做文檔樹(shù)供炎。
這樣再看偽元素的描述,允許基于格式化位于文檔樹(shù)之外的信息疾党,也就是說(shuō)偽元素不存在與文檔樹(shù)內(nèi)音诫,但是他卻也能夠存在于頁(yè)面的布局中。這樣雪位,對(duì)于一些布局結(jié)構(gòu)竭钝,使用偽元素可以減少dom的復(fù)雜度,并且更加便捷雹洗。

偽元素主要是以::或者:來(lái)定義香罐,css3的文檔中規(guī)定,偽元素要以::來(lái)定義时肿,而偽類(lèi)用:來(lái)定義以此來(lái)區(qū)分兩者庇茫。


單雙冒號(hào)對(duì)照表.png

具體作用

偽元素含有一個(gè)很特殊的屬性。就是content螃成,可以通過(guò)這個(gè)來(lái)設(shè)置偽元素的內(nèi)容旦签,并且這個(gè)偽元素默認(rèn)是行內(nèi)元素。
目前遇見(jiàn)過(guò)三種content內(nèi)容

  1. 普通的內(nèi)容寸宏,比如在一個(gè)span之前添加一個(gè)說(shuō)明文字宁炫,“用戶(hù)名:”這一類(lèi)的。
  2. 當(dāng)前dom屬性击吱,例如
<div class="test" data-title="金額:">1.0</div>

.test::before{
  content:attr(data-title);
}

這樣就可以和js很方便的配合來(lái)做一些以前很麻煩的事情淋淀。

  1. 圖標(biāo)遥昧,例如"\E600",這種方式要首先將圖標(biāo)定義成字體文件引入覆醇,然后再設(shè)置content為圖標(biāo)的值朵纷,這樣就可以做成一些圖標(biāo)頭的效果。

下面就具體看看各類(lèi)偽元素的用法

::before/::after

mdn定義:::before會(huì)為當(dāng)前元素創(chuàng)建一個(gè)子元素作為偽元素永脓。常通過(guò) content 屬性來(lái)為一個(gè)元素添加修飾性的內(nèi)容袍辞。 此元素默認(rèn)為行內(nèi)元素。

before和字面意思一樣常摧,會(huì)在元素前面插入偽元素搅吁,after則是在后面。

這屬性的用處很大落午。
首先是第一種 添加說(shuō)明文字
比如在一個(gè)div之前插入一些文字,但是這里會(huì)有一個(gè)誤區(qū)谎懦,那就是input元素,由于偽元素是要插入在元素內(nèi)部的溃斋,但是input并沒(méi)有一個(gè)容器可以提供插入界拦,所以,input和一些非容器類(lèi)元素是不支持這類(lèi)用法的梗劫。

第二種享甸,其實(shí)就是第一種的另一種用法,采用data-title之類(lèi)的形式來(lái)提供content的值

第三種梳侨,清除浮動(dòng)
在偽元素內(nèi)設(shè)置 clear:both;,這個(gè)其實(shí)和設(shè)置一個(gè)空的div來(lái)設(shè)置clear屬性是一樣的效果蛉威,只是更加方便。

第四種走哺,繪制高dpi屏幕1px線


1px.png

通過(guò)設(shè)置偽元素絕對(duì)定位于邊框上蚯嫌,并且設(shè)置縮放,從而達(dá)到1px的目的丙躏。
其實(shí)按照第四種的思路齐帚,可以達(dá)到很多其他的效果,可以想象彼哼,自己有一個(gè)貼紙对妄,自己通過(guò)制作貼紙來(lái)裝飾目標(biāo)元素。

第五種敢朱,元素居中


元素居中.png

其他類(lèi)別以后再寫(xiě)??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剪菱,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子拴签,更是在濱河造成了極大的恐慌孝常,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚓哩,死亡現(xiàn)場(chǎng)離奇詭異构灸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)岸梨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)喜颁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稠氮,“玉大人,你說(shuō)我怎么就攤上這事半开「襞” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵寂拆,是天一觀的道長(zhǎng)奢米。 經(jīng)常有香客問(wèn)我,道長(zhǎng)纠永,這世上最難降的妖魔是什么鬓长? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮尝江,結(jié)果婚禮上痢士,老公的妹妹穿的比我還像新娘。我一直安慰自己茂装,他們只是感情好怠蹂,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著少态,像睡著了一般城侧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上彼妻,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天嫌佑,我揣著相機(jī)與錄音,去河邊找鬼侨歉。 笑死屋摇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的幽邓。 我是一名探鬼主播炮温,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼牵舵!你這毒婦竟也來(lái)了柒啤?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畸颅,失蹤者是張志新(化名)和其女友劉穎担巩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體没炒,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涛癌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳话。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡先匪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出假颇,到底是詐尸還是另有隱情,我是刑警寧澤骨稿,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布笨鸡,位于F島的核電站,受9級(jí)特大地震影響坦冠,放射性物質(zhì)發(fā)生泄漏形耗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一辙浑、第九天 我趴在偏房一處隱蔽的房頂上張望激涤。 院中可真熱鬧,春花似錦判呕、人聲如沸倦踢。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)辱挥。三九已至,卻和暖如春边涕,著一層夾襖步出監(jiān)牢的瞬間晤碘,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工功蜓, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留园爷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓式撼,卻偏偏與公主長(zhǎng)得像童社,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子著隆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • ??DOM 1 級(jí)主要定義的是 HTML 和 XML 文檔的底層結(jié)構(gòu)旅东。 ??DOM2 和 DOM3 級(jí)則在這個(gè)結(jié)構(gòu)...
    霜天曉閱讀 1,452評(píng)論 1 3
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,223評(píng)論 0 3
  • ??DOM(文檔對(duì)象模型)是針對(duì) HTML 和 XML 文檔的一個(gè) API(應(yīng)用程序編程接口)抵代。 ??DOM 描繪...
    霜天曉閱讀 3,655評(píng)論 0 7
  • css引入偽類(lèi)和偽元素概念是為了格式化文檔樹(shù)以外的信息腾节。 偽元素&偽類(lèi): css引入偽類(lèi)和偽元素概念是為了格式化文...
    fly_198e閱讀 18,372評(píng)論 0 18
  • css引入偽類(lèi)和偽元素概念是為了格式化文檔樹(shù)以外的信息。 偽元素&偽類(lèi):css引入偽類(lèi)和偽元素概念是為了格式化文檔...
    會(huì)飛的賊er閱讀 565評(píng)論 0 0