成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

jQuery 源碼系列(十七)css 相關(guān)操作

xbynet / 3340人閱讀

摘要:而且它還是只讀的屬性,所以通過(guò)來(lái)改變樣式,如果不能修改文件的情況下,只能采用內(nèi)聯(lián)。一般的思路就是,先看看有沒(méi)有內(nèi)聯(lián),如果沒(méi)有內(nèi)聯(lián),就走一般流程。

歡迎來(lái)我的專欄查看系列文章。

樣式操作也是 jQuery 比較常用的一個(gè)操作,就我本人而言,這個(gè) css 函數(shù)用多了,感覺(jué)自己有點(diǎn)傻乎乎的,主要還是自己不了解 js 中 css 的真正含義。

不過(guò)現(xiàn)在不怕了。

開(kāi)始之前,先拋開(kāi) jQuery,我們來(lái)看看一個(gè)有趣的面試題(據(jù)說(shuō)是一道微信面試題)。

一道很有深度的面試題

用原生的 js 獲得一個(gè) HTML 元素的 background-color,當(dāng)然,這只是一個(gè)引入,為什么不是 color,為什么不是 font-size?

css 渲染的優(yōu)先級(jí)

寫(xiě)過(guò) css 樣式的同學(xué)都知道,css 是有優(yōu)先級(jí)區(qū)分的,!important優(yōu)先級(jí)最高,內(nèi)聯(lián)優(yōu)先級(jí)其次,id,類和偽類,元素和偽元素。優(yōu)先級(jí)會(huì)按照順序依次比較,同一級(jí)別相同則看下一級(jí)別,優(yōu)先級(jí)相同,后面會(huì)覆蓋前面。

比如,就像理科生排成績(jī),規(guī)定 總分 > 數(shù)學(xué) > 語(yǔ)文 > 英語(yǔ),如果 A,B 兩人總分一樣,就看數(shù)學(xué)成績(jī)誰(shuí)高,數(shù)學(xué)成績(jī)一樣,就看語(yǔ)文成績(jī)誰(shuí)高,以此類推。

記得在一家公司實(shí)習(xí)的時(shí)候(初學(xué)者),那個(gè)時(shí)候修改網(wǎng)站的主頁(yè)樣式,由于找不到樣式對(duì)應(yīng),就大量使用 !important,并把所有樣式都寫(xiě)在樣式標(biāo)的最后,估計(jì),后面接手的人要?dú)庹ò伞?/p>

問(wèn)題來(lái)了,對(duì)于任意的一個(gè) elem,DIV 也好,P 也好,都只會(huì)保留一個(gè) style 樣式表,一般可以通過(guò) getComputedStyle 函數(shù)或 IE 的 currentStyle 參數(shù)活動(dòng)(萬(wàn)惡的 IE,現(xiàn)在 jQuery 已經(jīng)不支持低版本 IE,連淘寶都不支持 IE8 了)。無(wú)論這個(gè)樣式表是通過(guò)前面哪個(gè)優(yōu)先級(jí)獲得的,但它一定是唯一且只有一個(gè)。而且它還是只讀的屬性,所以通過(guò) JS 來(lái)改變樣式,如果不能修改 css 文件的情況下,只能采用內(nèi)聯(lián)。

內(nèi)聯(lián)有兩種,一種是在 elem 上添加一個(gè) style 屬性,還有一種是在 HTMl 新建一個(gè)

<