Resetowanie wszystkich wartości {all}
W jaki sposób zresetować (wyczyścić, usunąć) całe formatowanie wybranemu elementowi na stronie?
CSS 3
selektor { all: wartość }
Natomiast jako wartość należy podać:
- initial - przywrócenie wartości domyślnych
- inherit - wymuszenie dziedziczenia wartości
- unset - odwołanie wartości
- revert - przywrócenie wartości pierwotnych
Sposoby przywracania domyślnych wartości bądź domyślnego zachowania, opisane wcześniej w tym rozdziale, mogą się okazać bardzo pomocne. Jednak w niektórych sytuacjach mają poważną wadę: trzeba je przypisywać oddzielnie do każdej cechy CSS. Problem ten rozwiązuje specjalna właściwość all
, która pozwala za jednym zamachem zrobić to dla wszystkich cech CSS wybranego elementu na stronie. Wyjątkiem są jedynie własności: direction
(kierunek tekstu) i unicode-bidi
(algorytm dwukierunkowego tekstu), których wartości nie zostaną zmienione. Ale tak naprawdę zwykle w ogóle nie zaleca się ich używać w języku CSS, ponieważ mają one swoje odpowiedniki w języku HTML.
Jednym z przykładowych zastosowań tej własności może być tworzenie widżetów, które często są dostarczane przez podmioty zewnętrzne do wstawienia na swojej stronie. Ponieważ elementy takie są osadzane w wielu różnych serwisach, nie ma możliwości efektywnie dopasować ich wyglądu do każdej strony. Dlatego ich twórcy najczęściej projektują jakiś jeden uniwersalny wygląd i dążą do tego, aby wszędzie wyglądały tak samo. Może w tym pomóc ustawienie na elemencie najbardziej nadrzędnym widżetu deklaracji "all: initial
", która zresetuje wszystkie cechy CSS do ich wartości domyślnych. Trzeba jednak pamiętać o dwóch sprawach:
- Zresetowane zostaną naprawdę wszystkie wartości. To oznacza m.in., że nawet element DIV przyjmie sposób wyświetlania inline, ponieważ właśnie to stanowi wartość domyślną.
- Nie zostaną zresetowane wartości przypisane do elementów podrzędnych. Jeśli nie były wprost odziedziczone, to trzeba je resetować osobno.
Przykład {all}
Ten akapit ma zresetowane wszystkie style do wartości domyślnych, ponieważ została mu przypisana deklaracja "all: initial".
A to jest pogrubienie, które znajduje się wewnątrz tego akapitu. Odziedziczyło ono zresetowany rodzaj czcionki. Ale jej waga nie została zmieniona - tekst nadal jest wizualnie wytłuszczony - ponieważ zostało to oddzielne przypisane do tego elementu.
Przeglądarki
Chrome | Firefox | Edge | Opera | Safari | |
---|---|---|---|---|---|
all: wartość | 37 2014-08-26 | 27 2014-02-04 | 79 2020-01-15 | 24 2014-09-02 | 9.1 2016-03-21 |