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. javascript - Vue 自定义控件v-model双向绑定2. python - 字符串里的u’u00a1’怎么打印成中文3. java - 前后端分离怎么解决后端数据太多的问题?4. javascript - 关于一些文档语法表示‘[,’5. java编程思想第4版中文版的几处谬误?6. pdo_mysql 值自增写法7. html5 - bootstrap修改样式的问题8. javascript - Vue.js2.0不能使用debounce后大伙一般是如何解决延迟请求的问题的呢。9. javascript - node如何关闭主进程后 打开另一进程?10. javascript - 网易云音乐是如何实现a标签href有值不跳转的?

网公网安备