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. docker-machine添加一個已有的docker主機問題2. python - Pycharm的Debug用不了3. java如何高效讀寫10G以上大文件4. java - 新手求教,當前時間問題?5. node.js - node express 中ajax post請求參數接收不到?6. html - 用ajax提交表單后,返回驗證數據在頁面location.href跳轉到主頁,怎么傳遞session給主頁7. java - tomcat服務經常晚上會掛,求解?8. node.js - electron使用原生node模塊9. apache - nginx 日志刪除后 重新建一個文件 就打不了日志了10. java - 原生CGLib內部方法互相調用時可以代理,但基于CGLib的Spring AOP卻代理失效,為什么?
