Jak korzystać z wielu arkuszy stylów CSS na tej samej stronie HTML, na której oba arkusze stylów mają na przykład klasę banerów. W jaki sposób określasz klasę, do której się odnosisz?Użyj wielu arkuszy stylów CSS na tej samej stronie html.
Odpowiedz
Nie można kontrolować, do czego się odwołujemy, z tym samym poziomem specificity w regule (np. Oba są po prostu .banner
), a arkusz stylów uwzględniony jako ostatni wygrywa.
To per-nieruchomości, więc jeśli istnieje połączenie dzieje (na przykład jeden ma background
, druga ma color
) wtedy dostaniesz kombinacji ... Jeśli właściwość jest zdefiniowana w obu, cokolwiek to jest Ostatni raz pojawia się w wygranych kolejności stylów.
Arkusze stylów są, faktycznie, łączone w jeden arkusz stylów w kolejności, w jakiej pojawiają się w źródle HTML.
normal rules for applying rulesets następnie zastosować (to znaczy przez specificity z ostatniego zestawu reguł, który określa dana nieruchomość wygranej w przypadku remisu i !important wyrzucanie klucza do robót)
Nigdy nie odnoszą się do konkretnego arkusza stylów. Wszystkie reguły CSS w dokumencie są wewnętrznie połączone w jeden.
W przypadku reguł w obu arkuszach stylów, które dotyczą tego samego elementu o tej samej specyfice, arkusz stylów osadzony później zastąpi poprzedni.
Możesz użyć inspektora elementów, takiego jak Firebug, aby sprawdzić, które reguły obowiązują, a które są nadpisywane przez inne.
Ten, który należy jako ostatni, będzie używany. Pamiętaj jednak, że jeśli jakakolwiek reguła ma ważne znaczenie w pierwszym arkuszu stylów, będą one miały priorytet.
Pomyśl o tym jako o arkuszach stylów odnoszących się do ("zaznaczania") elementów na stronie HTML, a nie odwrotnie.
Nie możesz i nie możesz.
Zostaną zastosowane wszystkie reguły CSS na stronie (HTML "nic" nie wie o tym procesie), a poszczególne reguły o najwyższej specyficzności "będą się trzymać". Specyfika jest określana przez selektor i kolejność, w jakiej pojawiają się w dokumencie. W sumie chodzi o to, że jest to część kaskadowa. Powinieneś zapoznać się z jednym z wielu tutoriali CSS w sieci.
Tak, możesz dołączyć wiele arkuszy stylów, ale musisz oznaczyć je jako alternatywne arkusze stylów i dać użytkownikowi sposób aktywowania ich za pomocą JavaScript - być może klikając link.
Aby utworzyć alternatywny arkusz stylów:
<link type="text/css" href="nameOfAlterateStyleSheet.css" rel="alternate stylesheet" title="Blue" />
Następny utworzyć metodę w pliku JavaScript, który będzie: 1. Włóż wszystkie arkusze stylów w tablicy 2. Przykład:
function getCSSArray()
{
var links = document.getElementsByTagName("link");
var link;
for(var i = 0; i < links.length; i++)
{
link = links[i];
if(/stylesheet/.test(link.rel))
{
sheets.push(link);
}
}
return sheets;
}
Następnie przejdź przez tablicę za pomocą jakiegoś typu pętli if/else, który wyłącza arkusze stylów, których nie chcesz i włącza odpowiedni arkusz stylów. (Możesz napisać osobną metodę lub wstawić pętlę do powyższej metody.) Chciałbym użyć polecenia onload, aby załadować tablicę CSS ze stroną, a następnie wywołać metodę printView.)
function printView()
{
var sheet;
var title1 = "printVersion";
for(i = 0; i < sheets.length; i++)
{
sheet = sheets[i];
if(sheet.title == title1)
{
sheet.disabled = false;
}
else
{
sheet.disabled = true;
}
Wreszcie tworzyć kod w dokumencie HTML, które użytkownik będzie aktywować JavaScript metody takie jak:
<a href="#" onClick ="methodName();">Link Name</a>
nie można. Ostatnim arkuszem stylów, który określisz, będzie jedna strona html. Pomyśl o tym jako o dużym pojedynczym dokumencie .css.
Błąd. Z całą pewnością możesz dołączyć wiele plików CSS. – ironarm
- 1. Jak uniknąć ponownego ładowania filmów HTML na tej samej stronie?
- 2. Konfigurowanie wielu formularzy/sprawdzanie poprawności na tej samej stronie
- 3. Wiele elementów iScroll na tej samej stronie
- 4. Zmiana formatu arkuszy stylów CSS w Eclipse
- 5. Wiele połączeń socket.io na tej samej stronie
- 6. Łączenie wszystkich arkuszy stylów CSS w jednym arkuszu stylów
- 7. Pipsy zasobów Rails: kompilacja do wielu arkuszy stylów
- 8. Dołącz arkusz stylów xslt na stronie html
- 9. Dwa Bootstrap akordeony na tej samej stronie
- 10. Wiele wersji JQuery na tej samej stronie
- 11. mediaelement.js Wiele filmów na tej samej stronie?
- 12. Highcharts.js - wiele motywów na tej samej stronie?
- 13. Dwie wersje jQuery na tej samej stronie
- 14. style Drugi element na stronie o tej samej klasie
- 15. jquery wstawianie wszystkich arkuszy stylów do iframe
- 16. Zastosuj różne arkusze stylów CSS dla różnych części tej samej strony internetowej
- 17. Jak uruchomić dwie osobne aplikacje Angulara na tej samej stronie?
- 18. Jak powinienem strukturyzować wiele wystąpień tej samej podklasy Ember.Application na tej samej stronie?
- 19. jquery wysłać formularz przez pobyt na tej samej stronie
- 20. formularz php - na przedstawienia pobyt na tej samej stronie
- 21. IDE dla arkuszy stylów XSLT
- 22. jQuery Mobile: Użyj tej samej stopki nagłówka dla wszystkich stron
- 23. Wiele remote_form_for na tej samej stronie powoduje duplikowanie identyfikatorów
- 24. Wyodrębnianie tylko pliku css używanego na konkretnej stronie
- 25. Jak uruchomić różne wersje jQuery na tej samej stronie?
- 26. użycie highchart i highstock na tej samej stronie
- 27. Processing AuthenticationResults od różnych dostawców na tej samej stronie
- 28. Jak umieścić dwa formularze na tej samej stronie?
- 29. Jak utworzyć osobne galerie Fancybox na tej samej stronie?
- 30. Sposób wielokrotnego użycia komponentu AngularJS 2 na tej samej stronie
Kilka rzeczy wartych uwagi zarówno na temat pytania, jak i odpowiedzi. ** Ta odpowiedź jest poprawna, ale tylko jeśli chcesz mieć wiele różnych stylów **. Można zdefiniować wiele arkuszy w taki sam sposób, jak arkusze główne. Dopóki nie zmieniają tych samych atrybutów - jesteś w porządku. Jeśli 2 arkusze stylów przeczą sobie nawzajem, to powinieneś uzyskać styl tego, który jest przetwarzany jako ostatni (Quentin napisał krótką odpowiedź). – Zero