了解 :not(:empty) CSS 选择器
:empty CSS 选择器旨在匹配不包含子元素的元素。但是,当与 :not() 选择器结合使用时,可能会导致意外行为。
输入元素的情况
HTML 元素被视为“空元素”,这意味着它没有任何子元素。因此,它总是满足 :empty 选择器,无论它是否包含任何文本值。
当使用 input:not(:empty) 时,您本质上要求的是既为空又为空的元素不为空。这是一个矛盾,这就是选择器永远不会返回任何结果的原因。
对 CSS 样式的影响
此行为对 CSS 样式有影响。您不能使用 input:not(:empty) 根据输入字段是否为空来动态设置输入字段的样式。
替代解决方案
对最初的空输入进行样式设置字段,您可以使用 input[value=""] 或 input:not([value]) 等选择器。但是,一旦用户在字段中输入文本,它将不再与这些选择器匹配。
以上是为什么 `input:not(:empty)` 总是没有返回结果?的详细内容。更多信息请关注PHP中文网其他相关文章!