Kaskadowość i dziedziczenie

Plansza interaktywna grudzień 2014

URL:
http://www.plotkarka.eu/PI/css3-cascade/
Autor:
Radosław Kowaluk

Importowanie arkuszy stylów

Reguła @import pozwala importować reguły stylów z innych arkuszy stylów. Reguły @import muszą znajdować się na samym początku arkusza stylów, w elemencie style lub zewnętrznym pliku css (reguła @charset, musi być pierwszą w arkuszu stylów, jeśli istnieje).

Reguła @import
@import [url|string] media-query-list?;
url
identyfikator internetowy w formie url('nazwa pliku')
string
identyfikator internetowy w formie nazwa pliku
media-query-list
określa listę mediów dla importowanego arkusza stylów oraz reguły warunkowe określone w rekomendacji Typy Mediów

Właściwości Skrócone

Niektóre właściwości posiadają formę skróconą. Pozwalają na określenie kilku wartości właściwości jednego obiektu. Skróconą własność ustawia wszystkie swoje właściwości podrzędne (gdy zostaną pominięte z skróconej postaci przypisana im zostanie wartość początkowa).

selektor: {
właściwość: wartość 1;
}
...
selektor: {
właściwość: wartość n;
}

jest równe

selektor: {
właściwość: wartość 1 ... wartość n;
}

importowanie stylów, właściwości skrócone*

*) Zawartość plików:

style.css
body { color: silver; }

print.cssh
body { color: black; }

Wartość początkowa

Wartość 'initial'
* np. font:
initial;

font: initial;

Każda właściwość ma wartość początkową, która staje się określoną wartością, gdy kaskada i dziedziczenie nie daje wartości. Ponadto, wartość początkowa może być wskazana przez słowo kluczowe "initial", które akceptują wszystkie właściwości.

Kaskadowość

Celem kaskadowości jest znalezienie jednej deklaracji wśród zestawu, które mają zastosowanie dla danego elementu. Aplikacje klienckie sortują deklaracje według następujących kryteriów, w kolejności ważności:

Wartości inherit i initial, dziedziczenie

Dziedziczenie

Wartość 'inherit'
* np. border:
inherit;

border: inherit;

Każda własność może również przyjąć wartość 'inherit'. Oznacza to, że dla danego elementu własność ta przyjmuje taką samą wartość, co ta sama własność jego rodzica. Wartości 'inherit' można używać do wzmacniania dziedziczenia wartości lub z własnościami, które normalnie nie są dziedziczne.

Dyrektywa !important
* np. color:
np. silver !important;

color: silver !important;

Każda własność może również przyjąć wartość  z dyrektywą !important, która zmienia kolejność w kaskadzie (zwiększa wagę, odwraca kolejność pierwszeństwa).

Właściwość all (przywracanie wszystkich właściwości) CSS3
all:
initial inherit unset

all:initial;

all:inherit;

all:unset;

Dyrektywa !important

Ważność

Arkusze stylów mogą pochodzić z trzech różnych źródeł: autor, użytkownik oraz aplikacja kliencka.

Sortowanie według ważności (normalna lub ważna) i pochodzenia (autor, użytkownik lub aplikacja kliencka). W kolejności rosnącej:

  1. deklaracje aplikacji klienckiej,
  2. normalne deklaracje użytkownika,
  3. normalne deklaracje autora,
  4. ważne deklaracje autora,
  5. ważne deklaracje użytkownika.

Resetowanie stylu