2012-06-29 15 views
23

Zgodnie ze specyfikacją CS3 W3, coś takiego jak: input[type~="text password"] powinno wybrać pola wejściowe, których typ jest ustawiony na "tekst" lub "hasło", ale to nie działa! Czy źle zinterpretowałem tę linię?Selektory CSS z wieloma wejściami [typy]

E [bla ~ = „ostrzeżenie”] dowolny element E, którego „bla” wartość atrybutu jest lista wartości przestrzeni oddzielonych, z których jeden jest dokładnie równa „ostrzeżenie”.

CSS spec source, to czwarty od dołu w tabeli.

+0

Na [źródło specyfikacji CSS] (https://www.w3.org/TR/CSS2/selector.html#pattern-matching), widzimy tę notatkę: Kilka sekcji tej specyfikacji zostało zaktualizowane przez inne specyfikacje. Zobacz "** [Cascading Style Sheets (CSS) - Oficjalna definicja] (https://www.w3.org/TR/CSS/#css) **" w najnowszej wersji Snapshota CSS, gdzie znajduje się lista specyfikacji i sekcje, które zastępują. – Nolwennig

Odpowiedz

29

Tak, wszystko jest w złym kierunku. Selektor jest poszukiwanie ciągu listę przestrzeń oddzielona .. tzn

<element attribute="text password" />

można znaleźć za pomocą:

element[attribute~="text"]

Korzyść z tego jest to, że nie powinien odpowiadać:

<element attribute="textual password" />

Nadzieja, która pomaga?

Aby osiągnąć to, czego rzeczywiście próbuje zrobić jest nieco bardziej rozwlekły:

input[type="text"], input[type="password"]

+0

Haha, dzięki. Uświadomiłem sobie, że to właśnie mieli na myśli, po tym, jak myśleli o tym więcej. XD –

0

czytasz to źle. E[foo~="warning"] wybierze dowolny element, który ostrzegł o liście oddzielonej spacjami. W ten sposób: <el foo="test warning etc" />

Powiązane problemy