成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

百分之四十的人都做錯(cuò)的一道 CSS 面試題

開(kāi)發(fā) 前端
這是一道關(guān)于 css 選擇器權(quán)重相關(guān)的面試題,今天就來(lái)學(xué)習(xí)學(xué)習(xí) css 選擇器權(quán)重如何計(jì)算?

前天的啥時(shí)候在微頭條放了一道關(guān)于 css 選擇器權(quán)重的面試題,只有兩個(gè)答案,但是 40% 的人都回答錯(cuò)了,今天就來(lái)詳細(xì)地看看。

<style>
.box h1#title { color:red }
#box h1.title { color:blue }
</style>
<div id="box" class="box">
<h1 id="title" class="title">愛(ài)學(xué)習(xí)的前端人</h1>
</div>

正確的答案:文字應(yīng)該是藍(lán)色。

這是一道關(guān)于 css 選擇器權(quán)重相關(guān)的面試題,今天就來(lái)學(xué)習(xí)學(xué)習(xí) css 選擇器權(quán)重如何計(jì)算?

css 選擇器權(quán)重

如果兩組選擇器都定位到同一元素,且對(duì)同一屬性設(shè)置不同的樣式,此時(shí)到底使用的是哪個(gè)樣式,就需要通過(guò)選擇器權(quán)重來(lái)決定到底使用的是哪個(gè)樣式?

具體的樣式繼承順序應(yīng)該為:

選中且設(shè)置 !important 的 > 權(quán)重高的 > 權(quán)重相同位置靠后的 > 來(lái)自繼承的。

一個(gè)選擇器的優(yōu)先級(jí)可以由四部分計(jì)算得分:

  • 千位:如果聲明在 style 的屬性里,則該部分得一分。
  • 百位:選擇器包含 id 選擇器,則該位得一分。
  • 十位:選擇器包含類(lèi)、屬性選擇器和偽類(lèi),則該位得一分。
  • 個(gè)位:選擇器包含標(biāo)簽、偽元素選擇器,則該位得一分。

舉例:

#header p.content.active
/*
選擇器權(quán)重計(jì)算過(guò)程:
千位:0 。樣式?jīng)]有定義在 style 中 ,所以千位為 0
百位:1。有一個(gè) id 選擇器。
十位:2。有兩個(gè)類(lèi)選擇器。
個(gè)位:1。包含一個(gè)標(biāo)簽。
最終權(quán)重值為:0121
*/

實(shí)例1:p 標(biāo)簽內(nèi)的文字應(yīng)該是什么顏色?

<p>愛(ài)學(xué)習(xí)的前端人</p>
<style>
p { color:red }
body { color:blue !important }
</style>

正確答案:紅色。

解析:上述只有 p 標(biāo)簽選中到對(duì)應(yīng) p 元素了,body 它是屬于 p 的父級(jí)元素,所以是屬于繼承的,來(lái)自繼承的權(quán)重是最低的,所以文字是紅色。

實(shí)例2:a 標(biāo)簽文字會(huì)繼承父級(jí)樣式還是會(huì)使用瀏覽器默認(rèn)顏色?

<a href="#">前端人</a>
<style>
body { color:red !important }
</style>

正確答案:藍(lán)色。

解析:雖然 a 標(biāo)簽沒(méi)有設(shè)置樣式,但是瀏覽器會(huì)有內(nèi)置的默認(rèn)顏色,使用調(diào)試工具可以看到:

按照權(quán)重規(guī)則來(lái)計(jì)算:

a:-webkit-any-link -> 0011
body -> 0001

所以瀏覽器會(huì)優(yōu)先使用內(nèi)置默認(rèn)的文字顏色。

實(shí)例3:40% 都做錯(cuò)的面試題。

<style>
.box h1#title { color:red }
#box h1.title { color:blue }
</style>
<div id="box" class="box">
<h1 id="title" class="title">愛(ài)學(xué)習(xí)的前端人</h1>
</div>

正確答案:藍(lán)色。

解析:

.box h1#title
/*
選擇器權(quán)重計(jì)算過(guò)程:
千位:0 。樣式?jīng)]有定義在 style 中 ,所以千位為 0
百位:1。有一個(gè) id 選擇器。
十位:1。有 1 個(gè)類(lèi)選擇器。
個(gè)位:1。包含一個(gè)標(biāo)簽。
最終權(quán)重值為:0111
*/
#box h1.title
/*
選擇器權(quán)重計(jì)算過(guò)程:
千位:0 。樣式?jīng)]有定義在 style 中 ,所以千位為 0
百位:1。有一個(gè) id 選擇器。
十位:1。有 1 個(gè)類(lèi)選擇器。
個(gè)位:1。包含一個(gè)標(biāo)簽。
最終權(quán)重值為:0111
*/

上述兩個(gè)選擇器的權(quán)重都是 0111。

css 選擇器權(quán)重相同的時(shí)候,繼承靠后面的樣式。所以 h1 標(biāo)簽會(huì)繼承后面的樣式是藍(lán)色。

上面這三個(gè)實(shí)例題都是非常典型的例子,可以對(duì)應(yīng)著實(shí)例,好好理解上邊的 css 權(quán)重介紹,內(nèi)容總結(jié)性比較強(qiáng)。

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2022-09-09 08:32:14

SQLMySQL數(shù)據(jù)庫(kù)

2024-10-11 17:09:27

2021-05-20 07:58:02

Appium環(huán)境搭建Windows10

2018-03-06 15:30:47

Java面試題

2021-03-24 15:06:55

SQL數(shù)據(jù)庫(kù)MySQL

2011-05-23 11:27:32

面試題面試java

2023-11-07 08:38:08

SQLOracleMySQL

2023-02-04 18:24:10

SeataJava業(yè)務(wù)

2009-08-11 10:12:07

C#算法

2009-08-11 14:59:57

一道面試題C#算法

2010-09-14 11:15:10

馬云

2022-06-14 08:32:01

SQLOracleMySQL 8.0

2021-09-02 07:09:18

數(shù)據(jù)庫(kù)平臺(tái)SQL

2017-11-21 12:15:27

數(shù)據(jù)庫(kù)面試題SQL

2022-04-08 07:52:17

CSS面試題HTML

2009-08-11 15:09:44

一道面試題C#算法

2021-05-31 07:55:44

smartRepeatJavaScript函數(shù)

2023-08-01 08:10:46

內(nèi)存緩存

2016-10-18 16:30:09

面試float儲(chǔ)格式

2013-11-06 14:49:38

百分之百百度
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩在线观看网站 | 玖玖久久 | 久久亚洲欧美日韩精品专区 | 成人免费视频一区 | 精品欧美激情在线观看 | 亚洲协和影视 | 九九热在线视频观看这里只有精品 | 亚洲区在线| 超碰人人人 | 本地毛片 | 欧美成人免费 | 欧美手机在线 | 91亚洲国产成人精品一区二三 | 性大毛片视频 | 日韩91 | 国产欧美日韩一区二区三区在线观看 | 一二区电影 | 草草草影院 | 青草福利 | 夜夜爆操 | 99精品久久久国产一区二区三 | 亚洲综合在线播放 | 国产成年人视频 | 91精品久久久久久久久久入口 | 精品成人av | 欧美黄在线观看 | 国产xxxx搡xxxxx搡麻豆 | 欧产日产国产精品视频 | 中文字幕 国产 | 在线视频亚洲 | 超碰人人91 | 免费黄色在线观看 | 91精品国产99久久 | 国产亚洲欧美日韩精品一区二区三区 | 成人免费视频播放 | 天天综合久久 | 成年人在线观看视频 | 国产精品久久久久久久久大全 | 在线免费观看黄色 | 欧美一区二区小视频 | 久久久久国产视频 |