在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ css 選擇器表達(dá)式的計算順序是怎樣的

css 選擇器表達(dá)式的計算順序是怎樣的

請原諒我使用“css選擇器表達(dá)式”這個詞,因為我也不知道這個應(yīng)該怎么稱呼。
我想達(dá)到下面的效果不知道僅憑css選擇器能不能實現(xiàn)

(.a+ div)>em {
    color :#ffffff;
}

文字描述就是class="a"后面的兄弟div元素內(nèi)部的em子元素。
總之超過3個部件的css表達(dá)式寫起來總是迷糊,不知道有沒有類似與各類表達(dá)式中的“運算符優(yōu)先級”這種東西,還是單純的只能從左到右這種的。

有前輩對使用場景提出了質(zhì)疑,其實是這樣的
使用場景

原本就是三個input由插件自動生成的開關(guān)?,F(xiàn)在是f的文字顏色不太合適。

另外我提問的核心還是想題目所描述的,詢問這個(類似)表達(dá)式是否有運算順序,單講這個活本身其實是無所謂的,告訴“改不了”也不是不行。所以希望從解決問題,而不是繞過問題來討論。

回答
編輯回答
妖妖

div直接給個class不好嗎...em直接給個class也不好嗎...


單條css語句解析是從右向左的。

(.a+ div)>em {
    color :#ffffff;
}

可以理解為:
1、找到所有 em
2、找到所有 em 中 em的父元素是(.a+div)的 em

而css選擇器有不同的權(quán)重劃分。
權(quán)重:important > id > class/偽類/屬性 > 元素/偽元素 > 通配符

相同目標(biāo) 可以有多條css語句表示,每條css語句的權(quán)重是語句中所有選擇器權(quán)重之和,權(quán)重越大優(yōu)先級越高,如果權(quán)重相等后者會覆蓋前者。

<p class="red">class權(quán)重高。我的顏色是粉色不是紅色<p>

p {
   color: red;
}
.red {
   color: pink;
}

可以依靠多條css語句的不同權(quán)重來表現(xiàn)樣式。

2017年1月7日 11:17
編輯回答
瘋浪

首先感謝大佬回答,原來解析順序是從右到左。
我又重新看了下代碼,其實加了括號反而會不識別,之前沒加括號時,之所以不好使,是因為用了important。
我這也加個important 就好了。
所以下面這種其實就可以了

.a+ div>em {
    color :#ffffff;
}
2018年3月5日 19:44