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. PHP 后台无法获得变量2. mysql - 数据库多表联合查询插入其他库3. Mac怎么安装呢?4. javascript - 调微信分享朋友接口,出现下面问题,求解答,5. 使用mysql自增主键遇到的问题6. 提示我模板文件不存在: tp5 application index view body.html7. shell - mysql中update语句错误8. 请问老师的PS编辑器,安装了哪些插件?感觉自己显示的风格太原始了!谢谢!9. java - 触发器使两张表同时更新10. javascript - 微信网页开发从菜单进入页面后,按返回键没有关闭浏览器而是刷新当前页面,求解决?

网公网安备