您的位置:首页技术文章
文章详情页

html5 - css 选择器not问题

【字号: 日期:2023-01-23 08:22:44浏览:14作者:猪猪

问题描述

<!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>

结果html5 - css 选择器not问题 为什么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就好啦。

标签: Html5
相关文章: