Podczas korzystania z wielu plików CSS na tej samej stronie i powodują kolizję, skąd mam wiedzieć, który z nich będzie używany? Na przykład, jeśli ktoś mówi niebieskie tło ciała, a drugi mówi czerwony.Kolejność priorytetów podczas korzystania z wielu sprzecznych plików css
Odpowiedz
Szybka Odpowiedź:
Jeśli oba kawałki CSS mają taką samą specificity (na przykład oboje body{
), a następnie w zależności pobiera nazywane LAST zastąpi poprzednie.
ALE, jeśli coś ma wyższą specyfikę (bardziej szczegółowy selektor), będzie używane bez względu na kolejność.
Przykład 1:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
.name { color: blue; }
.name { color: red; }
</style>
Powyższy przykład spowoduje, że kolor czerwony. Oba selektory są takie same i dlatego też mają tę samą specyfikę. A ponieważ CSS czyta od góry do dołu, najpierw mówimy, że jest niebieski, ale potem nadpisujemy to, mówiąc "nie martw się, niech czerwony".
Przykład 2:
<div class="container">
<div class="name">Dave</div>
</div>
<style>
#container .name { background-color: blue; }
.name { background-color: red; }
</style>
Powyższy przykład spowoduje, że kolor niebiesko, chociaż błękit pierwsze dlatego, że selektor jest more "specific".
Exception (wykorzystanie !important
):
Włączenie !important zastąpi zarówno specyfikę i porządku, ale moim zdaniem, powinny być stosowane tylko wtedy, gdy starasz się bałagan z kod strony trzeciej, w którym nie masz dostępu, aby zmienić go w dowolny inny sposób.
CSS zewnętrzna:
Zastąp reguły działają tak samo na zewnętrznych plikach CSS. Wyobraźcie sobie, że umieszczacie je od początku do końca, od góry do dołu. Selektory wywoływane w pierwszym pliku (plikach) zostaną nadpisane przez selektory o tej samej specyficzności w kolejnych plikach. Ale specyfikacja nadal będzie działała na podstawie tego samego pliku lub wielu plików.
Jak Test:
W Chrome, Firefox i nowoczesne wersje IE (prawdopodobnie zbyt Safari), można kliknąć prawym przyciskiem myszy na coś i kliknij "Zbadaj element". Spowoduje to wyświetlenie kodu HTML, a także dowolnego zastosowanego CSS. Podczas przewijania w dół CSS (zwykle po prawej) zobaczysz przekreślone elementy - oznacza to, że są one nieprawidłowe lub zostały nadpisane. Aby przetestować, możesz zmodyfikować selektory CSS (w swoim własnym kodzie lub bezpośrednio w polu narzędzi programistycznych), aby były bardziej szczegółowe i zobaczyć, czy to sprawia, że nie są przekreślone ... itd. Odtwarzaj w tym narzędziu - jest BARDZO pomocny.
+1 ze względu na specyfikę - dodałbym tylko wzmiankę o '! Important'. @Filip, aby uzyskać szczegółowe informacje, patrz [http://www.w3.org/TR/CSS2/cascade.html](http://www.w3.org/TR/CSS2/cascade.html). –
@Ian Ważny punkt - Nie myślałem o tym, ponieważ Nienawidzę go używać, ale z pewnością prawdziwe. Będę edytować moją odpowiedź, aby dołączyć. (dzięki!) – Dave
O tak, absolutnie - nie jest ładna, ale jest ważna. –
- 1. Arkusze stylów kolejność priorytetów
- 2. Najlepsza praktyka korzystania z wielu plików .gitignore
- 3. Jak obrócić jedną działkę z wielu podczas korzystania z knitr?
- 4. Łączenie wielu plików CSS w jeden
- 5. Kolejność przetwarzania CSS
- 6. webpackHtmlPlugin: kontroluj kolejność wstrzykiwanych plików
- 7. Popen sprzecznych wykonywalnego/ścieżka
- 8. Kolejność linków w css
- 9. Uszkodzone animacje klatek kluczowych CSS podczas korzystania z programu css-loader programu WebPack z wtyczką UglifyJS
- 10. Android: Błąd CSS podczas korzystania z jednostki HTML i Eclipse
- 11. Asercja na muteksie podczas korzystania z wielu wątków i muteksów
- 12. Jak zmienić plik css podczas korzystania z WebPacka w celu załadowania css?
- 13. Jak zachować uprawnienia do plików podczas korzystania z FileUtils.copyDirectory?
- 14. Konfigurowanie buforowania klienta podczas korzystania z plików statycznych OWIN
- 15. Zmień kolejność płynęły div z CSS
- 16. Komunikacja wielu plików z coffeescript
- 17. Jak określić kolejność klas CSS?
- 18. Kolejność zgłoszeń CSS dostawcy sprzętu
- 19. DirectoryInfo.GetFiles spowalnia podczas korzystania z SearchOption.AllDirectories
- 20. Przesyłanie wielu plików z spinacza
- 21. Cytaty podczas korzystania z grep?
- 22. keyDispatchingTimedOut podczas korzystania z emulatora
- 23. Nullpointer podczas korzystania z response.sendRedirect()
- 24. Błąd podczas korzystania z formularza.submit()
- 25. Scalanie wielu ramek danych z plików CSV
- 26. Jak nie zepsuć stylizacji podczas korzystania ze struktur css
- 27. Jak ukryć separator podczas korzystania z newline?
- 28. Odczytywanie wielu plików z katalogu
- 29. Framework Blackboxing podczas korzystania z Webpacka?
- 30. Problem z porządkiem parametrów podczas korzystania z procedury składowanej
Jeśli jeszcze go nie masz, pobierz wtyczkę Firebug dla przeglądarki Mozilla Firefox. Posiada eksplorator CSS, który pozwala na przeglądanie wszystkich stylów i klas na konkretnym elemencie DOM. Pozwala nawet edytować je ad-hoc i wizualnie zobaczyć wyniki na dowolnej stronie. To bardziej niż cokolwiek pomogło mi dowiedzieć się, jak CSS współdziała ze stroną. –
Inspektor firebuga i chrome (oraz firefly operowe) są narzędziami nieocenionymi przy projektowaniu stron internetowych! –