:not伪类用于选中不匹配指定条件的元素,可排除类、标签或属性,如.btn:not(.btn-disabled)为按钮排除特定样式,支持链式调用但仅限简单选择器。
在CSS中,:not伪类是一个非常实用的选择器,它允许你为不匹配某个条件的元素应用样式。通过使用:not(),你可以轻松排除特定元素,避免样式被错误地应用。
基本语法与作用:not(选择器)表示选中不符合括号内选择器的元素。它可以接收简单选择器,如标签名、类名、属性选择器等。
例如:
/* 给所有不是段落的块级元素设置边距 */div :not(p) {margin-bottom: 1rem;}排除特定类的元素当你希望对某一类元素统一设置样式,但想排除其中某些特殊类时,:not(.类名)就非常有用。
立即学习“前端免费学习笔记(深入)
”;
比如,给所有 .btn 添加背景色,但跳过 .btn-disabled:使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更下载.btn:not(.btn-disabled) {background-color: blue;color: white;}这样,带有btn-disabled类的按钮就不会被赋予背景色。
排除特定标签或属性除了类,还可以排除特定标签或具有某属性的元素。
排除input元素:p:not(input)—— 虽然 p 不可能是 input,但在通用容器中可写成:span:not(input[type="text"])排除有 disabled 属性的按钮:button:not([disabled]) { cursor: pointer; }只为未禁用的按钮设置手型光标。
排除带 href 的 a 标签:a:not([href]) { color: gray; text-decoration: none; }让没有链接地址的 a 标签样式变淡。
组合使用提升精确度:not可以链式使用,实现更精细的筛选。
/* 排除特定类和特定属性的输入框 */input:not(.ignore):not([readonly]) {border: 1px solid #ccc;}这样只对非忽略类且非只读的输入框添加边框。
基本上就这些。合理使用:not能让你的CSS更简洁、逻辑更清晰,避免冗余覆盖和 !important 的滥用。注意不要嵌套复杂选择器,因为 :not() 仅支持简单选择器(不能嵌套 :not 或复合选择器)。掌握这个小技巧,样式控制会更得心应手。
