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

鍍金池/ 問答/Python  HTML/ css :not() 選擇器問題——默認(rèn)css無效

css :not() 選擇器問題——默認(rèn)css無效

HTML:
        <i>I am the master of my fate </i> 
        <p>How charged with punishments the scroll </p>
CSS:
        :not(i) {color: red;}

運(yùn)行結(jié)果是: <i> <p> 全部紅色
:not()失效了?找了w3c、MDN教程,都無解釋,只是w3c中的例子給出了一句

p{color:black}
:not(i){color:red;}

難道使用:not()還需要預(yù)先設(shè)定全部元素的css? 也太麻煩了吧~

偶然查到一個信息:繼承

難道說 :not()是對整個html生效的? 此時body的狀態(tài)也是color:red,雖然 :not(i)選擇器將<i>排除,但由于<i>繼承了body的屬性,它又鬼使神差的變成了紅色。。。

以上只是遇到問題后給自己的解釋,目前還查不到有力證據(jù),畢竟英文不好,翻墻腿短。

前輩們,我胡掰的對嗎?

————————————————————————
剛剛使用background屬性實(shí)驗(yàn)了下,貌似我碰巧解釋對了,但是更可怕的是,只設(shè)定body都不行,想要使用 :not()需要

html,body{pro:val}

才行。。。

是不是以后使用 :not()需要前面加個type標(biāo)簽限制下生效范圍?。?/p>

回答
編輯回答
兔囡囡

因?yàn)槌?not(i)導(dǎo)致除了i元素的所有元素的color都是紅色,所以p為紅色你應(yīng)該可以理解,而i元素沒有指定顏色,那么它就選擇繼承父級顏色,父級顏色是紅色,所以它也就成了紅色

至于

是不是以后使用 :not()需要前面加個type標(biāo)簽限制下生效范圍啊?

一般是不會有你這種全局用法的,如果想達(dá)到你的效果只需要再加一個

i{
color:green;
}

就行了,指定了i的顏色就不會去繼承父級的顏色了

2017年1月9日 13:12
編輯回答
咕嚕嚕

對的,你說的完全沒錯,紅色是從body繼承過來的,小伙子很有天賦
圖片描述

標(biāo)簽選擇器一般都是寫全局樣式的,不會定義太多亂七八糟的東西
寫自定義樣式一般都是用class選擇器的

2018年5月3日 18:00
編輯回答
傻丟丟

是繼承的。i 標(biāo)簽?zāi)J(rèn)繼承 body 的顏色。而 body 的標(biāo)簽名也不是 i

2017年5月11日 21:19