<!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会变成红色呢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
.iSerror:not(.usermodel) input{
border:1px solid red
} 先解释一下:.iSerror:not(.usermodel)这里只是排除了跟.iSerror的同级.usermodel,而你的结构中,.usermodel是.iSerror的子集,改成:
.iSerror p:not(.usermodel) input{
border:1px solid red
}试下
你是没给
.usermodel
直接添加样式 但是它自动继承了父类 即.iSerror
的样式这个根本就用不到
:not()
啊……如果用emmet来写的话,
就是
.iSerror>input+.usermodel>input
。所以嘞,找第一个
<input>
就用.iSerror>input
;找第二个<input>
用.usermodel>input
就好啦。