2013-04-19 11 views
5

Ok tak oto prosty test caseSelektor elementów CSS jest bardziej szczegółowy niż atrybuty HTML?

Co starałem jest to, że jeśli używamy atrybutów do elementów stylu (wiem, co jest bardzo złym pomysłem, ale zrobiłem to dla eksperymentów)

Tak Pytanie brzmi: czy selektor podstawowy elementów CSS jest bardziej specyficzny niż atrybuty HTML?

Kinda CSS - 1/HTML - 0 <!-- Specificity -->

Jeśli CSS not used, HTML - 1 <!-- Specificity -->

Przypadek Testowy HTML

<table border="1"> 
    <tr> 
     <td>Hello 1</td> 
     <td>Hello 2</td> 
     <td>Hello 3</td> 
    </tr> 
</table> 

CSS

table, table td { 
    border: 0; 
} 

Więc ogólnie CSS jest specyficzna niż HTML do stylizacji? Czy jest coś, co możemy zastąpić CSS atrybutami z wyjątkiem atrybutu style.

+0

@BoltClock Czy nie powinniśmy również oznaczyć to jako specyfik? –

+0

@Andy Mam świadomość, że style inline są NAJBARDZIEJ specyficzne, moje pytanie było czymś innym :) –

+0

Nie jestem pewien - nie sądzę, że specyfika jest tu właściwym pojęciem. – BoltClock

Odpowiedz

8

Od the CSS 2.1 specification:

UA może zdecydować się na cześć prezentacyjnych atrybutów w dokumencie źródłowym HTML. Jeśli tak, to te atrybuty są tłumaczone na odpowiednie reguły CSS ze specyficznością równą 0 i traktowane są tak, jakby były wstawiane na początku arkusza stylów autora. Dlatego mogą zostać nadpisane przez kolejne reguły arkusza stylów. W fazie przejściowej ta polityka ułatwi stylistycznym atrybutom współistnienie z arkuszami stylów.

Podobny język istnieje w CSS Cascading and Inheritance Level 3


więc ogólnie jest specyficzna niż CSS HTML do stylizacji?

Tak. Nie używaj HTML do stylizacji. Mamy teraz CSS.

Albo jest coś możemy zastąpić atrybutów CSS z wyjątkiem atrybutu stylu

nic. Atrybut stylu jest po prostu sposobem na zastosowanie CSS do elementu mimo to. (Podobnie jak w przypadku JavaScript do modyfikowania właściwości DOM wygenerowanych przez atrybut stylu).

+0

To było coś dobrego! dzięki ;) –

Powiązane problemy