首頁  >  文章  >  web前端  >  為什麼 :not(:empty) 不適用於帶有文字的輸入欄位?

為什麼 :not(:empty) 不適用於帶有文字的輸入欄位?

DDD
DDD原創
2024-11-04 15:00:33306瀏覽

Why Doesn't :not(:empty) Work for Input Fields with Text?

:not(:empty) CSS 選擇器不起作用

:not(:empty) 選擇器無法定位包含文字內容的輸入欄位。組合多個選擇器時會出現此問題,特別是 :not(:empty):not(:focus):invalid。刪除 :not(:empty) 可以解決問題,但在 :not() 中使用它似乎不一致。

澄清一下,:empty 選擇器指示沒有子節點的元素。在輸入元素的上下文中,這包括那些沒有文字內容的元素。然而,HTML 定義將輸入元素分類為 void,這意味著它們本質上是空的。

如選擇器規格所述,「:empty 偽類表示根本沒有子元素的元素」。這包括輸入元素,無論其值如何,因此 input:not(:empty) 實際上永遠不會選擇有效 HTML 中的任何內容。

雖然 CSS 本身無法動態設定空輸入欄位的樣式,但您可以使用 [value 來定位原本為空的欄位=""] 或 :not([value]) 來設計適當的初始狀態。

以上是為什麼 :not(:empty) 不適用於帶有文字的輸入欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn