前端面試題 CSS中的選擇器權重

2021-09-13 04:11:51 字數 1818 閱讀 8254

先看一段**,如下:

hello

請問上面**中,a標籤中文字的最終顏色是什麼?知道css選擇器優先順序規則的童鞋都知道,在css中優先順序順序如下:

id選擇器 > class選擇器 > tag選擇器

所以,上面**的顏色,大家都會選擇#box a綠色。這個答案沒錯。 如果我們把這一條規則從style標籤中移除呢,那麼a標籤文字的顏色應該是哪個?brown? orgold? which one?

答案是:brown

ap a的優先順序肯定沒有其它兩項高,不需要考慮。在[class="box"] a.box a中,後者的順序比較考後,會覆蓋之前的樣式,所以顏色是brown
這也許會是一些人的答案,不能不說不對。那麼如果這中情況下呢?

hello 

不用說,大家都知道會使用style="color: red;"屬性定義的顏色,是red

那麼,css所遵從的具體規則是什麼呢?

第零等:!important, 大過了其它任何設定。

第一等:代表內聯樣式,如: style=」」,權值為1000。

第二等:代表id選擇器,如:#content,權值為0100。

第三等:代表類,偽類和屬性選擇器,如.content,權值為0010。

第四等:代表型別選擇器和偽元素選擇器,如div p,權值為0001。

第五等:萬用字元、子選擇器、相鄰選擇器等的。如*、>、+,權值為0000。

第六等:繼承的樣式沒有權值。

!important和內聯樣式style都屬於不講理的那種,

【參考資料】

css selector specificity

前端面試題 CSS選擇器效能優化

css選擇符由一些初始化引數組成,這些引數指明了要應用這個css規則的頁面元素。作為乙個 的前端開發工程師,應該避免編寫一些常見的開銷很大的css選擇符模式,盡量編寫高效的css選擇符,從而加快頁面的渲染速度,縮短頁面呈現時間。瀏覽器讀取選擇器,遵循的原則是從選擇器的右邊到左邊讀取。換句話說,瀏覽器...

前端面試題 css

1.實現不使用border畫出1px高的線,在不同瀏覽器的標準模式與怪異模式下都能保持一致的效果 2.介紹一下標準的css盒子模型,低版本的ie盒子模型有什麼不同 3.box sizing屬性 用來控制元素的盒子模型的解析模式。預設為content box 4.css選擇器有哪些?哪些屬性可以繼承?...

前端面試題 css

1.什麼是盒模型?盒模型主要分為w3c盒模型和ie盒模型,盒模型主要包括content,padding,border,margin。其中w3c盒模型的width content,ie盒模型的width content padding border。2.flex flex為彈性布局,webkit核心的...