html5 - css 選擇器not問題
問題描述
<!DOCTYPE html><html><head><style>.iSerror:not(.usermodel) input{ border:1px solid red}</style></head><body><p class='iSerror'> <input> <p class='usermodel'> <input></p></p></body></html>
結果 為什么usermodel下面的input border會變成紅色呢
問題解答
回答1:.iSerror:not(.usermodel) input{ border:1px solid red} 先解釋一下:.iSerror:not(.usermodel)這里只是排除了跟.iSerror的同級.usermodel,而你的結構中,.usermodel是.iSerror的子集,改成:.iSerror p:not(.usermodel) input{ border:1px solid red}試下
回答2:.iSerror:not(.usermodel) input{//這里的.iSerror:not(.usermodel), 指的是在擁有iSerror類的標簽,同時不具有.usermodel這個類 border:1px solid red}
.iSerror p:not(.usermodel) input{ border:1px solid red}//html<p class='iSerror'> <p>//這個就會變紅色<input> </p> <p class='usermodel'> <input> </p></p>回答3:
你是沒給.usermodel直接添加樣式 但是它自動繼承了父類 即.iSerror的樣式
回答4:這個根本就用不到:not()啊……
如果用emmet來寫的話,
<p class='iSerror'> <input> <p class='usermodel'><input> </p></p>
就是.iSerror>input+.usermodel>input。
所以嘞,找第一個<input>就用.iSerror>input;找第二個<input>用.usermodel>input就好啦。
相關文章:
1. angular.js - angular內容過長展開收起效果2. 關于nginx location配置的問題,root到底是什么3. 關于docker下的nginx壓力測試4. angular.js - angularjs的自定義過濾器如何給文字加顏色?5. docker鏡像push報錯6. python - flask表單 如何把提交多行數據在服務端讀取出來?7. python 怎樣用pickle保存類的實例?8. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯9. python的前景到底有大?如果不考慮數據挖掘,機器學習這塊?10. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?
