2011-06-27 7 views
27

znalazłem następującą definicję w arkuszu stylów CSS:Co robi potok (|) w selektorze CSS?

*|*:link {color:#ff00ff;} 

Co znajduje zastosowanie |? Czy to jakiś hack CSS?

+0

Nie ma go w [Specyfikacja CSS2] (http://www.w3.org/TR/CSS2/selector.html), więc włamuję się ... Ale jestem zainteresowany ... –

+0

Nigdy nie widziałem | w pliku css przed ... musi to być jakiś hack, ponieważ nie jest to znak w żadnym selektorze. – timw4mail

+4

@Jason McCreary @ timw4mail * Hack * jest nazywany CSS 3;) – phihag

Odpowiedz

19

It separates namespace and element name.

Jeśli nie zdefiniowano domyślnego obszaru nazw, *|*:link jest skomplikowanym sposobem pisania *:link lub tylko :link.

w dokumencie XML, można mieć:

<el xmlns="http://name/space" /> 
<style> 
@namespace namespace_example url(http://name/space); 
namespace_example|el {background: red;} 
</style> 
7

Jest on używany z przestrzeniami nazw, określających namespace|element. Aby uzyskać więcej informacji, spójrz na documentation here. Jeśli nie zdefiniowano żadnego namespace, nie ma sensu definiowanie selektorów o przestrzeni nazw *.