2010-08-31 21 views
46

Bunu şimdi gördüm: *|*:link Firebug ile. Firefox'un eklediği bazı varsayılan stil gibi görünüyor, ancak *|* ne anlama geliyor?* | * bu, CSS'de ne anlama geliyor?

+7

CSS Ad. Daha fazla bilgiye http://ajaxian.com/archives/w3c-css-namespaces-now-a-candidate-recommendation adresinden daha fazla yorum yapamam. –

cevap

14

*|* bir namespace-qualified universal selector olduğunu. İlk * (varsayılan ad ve ad olmaması da dahil olmak üzere) herhangi bir ad anlamına gelir ve ikinci * herhangi bir elemanı tipi anlamına gelir. Belirtildiği gibi, *|*:link seçicisi, herhangi bir ad alanında, görünmeyen bir köprü olan (:link) tüm öğeleri temsil eder. Açık olmak gerekirse, *| önek dahil herhangi ad alanında belirli öğeleri, şu anlama gelir: varsayılan ad (örn XHTML) (Firefox'ta örneğin XUL) başka ad alanında

  • Elemanları
  • Elemanları içinde

    • Elements o bir ad değildir

    CSS has a module dedicated to namespace declarations.

    belge türü elemanlarının tür SUC olarak tayin edilmelidir belirler erlinks:

    • HTML ve XHTML, bu her zaman bir href özelliği olan bir a elementtir. XUL yılında

    • , bunun href özelliğiyle bir label.text-link unsur olduğuna inanıyoruz. Benzer ad alanlarını tanımlayan stil XML belgelerinin veya diğer belge türleri için CSS kullanırken CSS ad yalnızca yararlı olduğunu

    Not. Bu, özel XML ad alanlarına sahip XHTML sayfalarını içerir. Normal HTML belgelerinde, genellikle seçicilerin ad öneklerini kullanmasına gerek yoktur.

    Bu, tarayıcılar, diğer XML tabanlı dillerle birlikte çalışabilirlik sağlamak için zaten HTML/XHTML için XHTML'ye karşılık gelen kullanıcı aracısı stil sayfalarında bir varsayılan ad alanı bildirdiklerini söyledi. Firefox durumunda, bu XHTML ve XUL hem çalışmak için besbelli:

    (X) HTML elemanları varsayılan ad yaşayan
    @namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */ 
    @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); 
    

    beri olması gerekmezsadece bu öğeleri eşleşen seçiciler ad-öneki. Bu, yukarıda belirttiğim gibi, seçmenlerde isim alanı öneklerinin kullanılmasına gerek duyulmamasının teknik nedenidir.

    Ayrıca, bir ad alanı öneki ile herhangi bir öğe türünü hedeflemek istiyorsanız, * sağ tarafta olmalıdır, bu nedenle *|:link gibi bir şey geçersiz olacaktır. Detaylar için bkz. this answer.