Pierwszeństwo wielu klas definiujących właściwość koloru ustawianych raczej przez kolejność deklaracji niż kolejność specyfikacji

Biorąc pod uwagę dwie klasy równej specyficzności definiujące właściwość koloru, pomyślałem, że ostatnia klasa wymieniona w atrybucie klasy elementu będzie miała pierwszeństwo.

Zhttp://htmlhelp.com/reference/css/structure.html:

Zamówienie specyfikacji Aby ułatwić, gdy dwie reguły mają tę samą wagę, wygrywa ostatnia określona reguła.

W poniższym przykładzie kodu próżniowego kolejność, w której zestaw reguł klasowych jest zdefiniowany, określa pierwszeństwo. Tutaj ostatnia lub najnowsza definicja zestawu reguł klasy ma pierwszeństwo.

<style>
    .makeBlue {color: blue;}
    .makeGreen {color:green;}
</style>
<div>
    <p class="makeGreen makeBlue">makeGreen makeBlue</p>
    <p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>

Tekst wyjściowy jest zielony.

Jeśli zamieniam kolejność deklaracji klasy i najpierw deklaruję .makeGreen

<style>
    .makeGreen {color:green;}
    .makeBlue {color: blue;}        
</style>
<div>
    <p class="makeGreen makeBlue">makeGreen makeBlue</p>
    <p class="makeBlue makeGreen">makeBlue makeGreen</p>
</div>

Tekst wyjściowy jest niebieski.

Nigdy wcześniej tego nie zauważyłem.edytować myślałemedytować ostatnia klasa wymieniona w atrybucie klasy elementu ma pierwszeństwo.

edytować Aby wyjaśnić -> Czasami myślę o żywiole, powiedzmy psa. Widzę, że dodanie klasy do atrybutu klasy elementu jako polecenia psa. Jeśli powiem mu, żeby usiadł, a potem powiedział, że się położy, oczekuję, że pies się położy. Nie oczekuję, że pies będzie siedział po prostu dlatego, że nauczyłem się, jak siedzieć po nim (ostatnio niż). Nauczyłem go, jak się położyć.

Więc ... dwa pytania.

Czy tak powinno być?odpowiedziałJeśli tak ... dlaczego? Nie jestem w stanie dostrzec korzyści płynących z konieczności przekopywania się przez deklaracje klasowe w celu ustalenia, która deklaracja została zgłoszona przed drugą.

Wielkie dzięki!

questionAnswers(2)

yourAnswerToTheQuestion