Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
prioriteti_stiliv_css [2023/09/11 18:26] tro |
prioriteti_stiliv_css [2023/09/11 18:49] (текущий) tro |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Приорітети стилів CSS ====== | ====== Приорітети стилів CSS ====== | ||
| - | 1 (вищий) - inline | + | * 1 (вищий) - inline |
| - | 2 - ID | + | |
| - | 3 - classes, attributes, pseudo-classes | + | |
| - | 4 (нижчий) - pseudo-elements | + | |
| + | |||
| + | Для кожного CSS-правила браузер обчислює специфічність (вагу) селектора. | ||
| + | Значення специфічності складається з чотирьох рангів. Їхня важливість зростає справа наліво, | ||
| + | Кожен селектор відповідного класу (4й - пседоелемент, | ||
| + | З таких цифр і вийде ітогова вага приорітета щоб система зьясувала - х якого джерела стилів має найвищий приорітет. | ||
| + | Якщо для одного отримувача стилів описано декілька стилів і деякі з них не спіадають (наприклад вв одному бекграунд а у іньшому - розмір шрифта) - то такі властивочті обїеднуються. | ||
| + | |||
| + | Приклад - Колір тексту посилання буде коричневим, | ||
| + | < | ||
| + | /* Специфічність - 0 0 0 1 */ | ||
| + | a { | ||
| + | color: green; | ||
| + | } | ||
| + | |||
| + | /* Специфічність - 0 0 1 0 */ | ||
| + | .post-link { | ||
| + | color: orange; | ||
| + | } | ||
| + | |||
| + | /* Специфічність - 0 0 1 1 */ | ||
| + | a.post-link { | ||
| + | color: blue; | ||
| + | } | ||
| + | |||
| + | /* Специфічність - 0 0 2 0 */ | ||
| + | .post > .post-link { | ||
| + | color: red; | ||
| + | } | ||
| + | |||
| + | /* ✅ Специфічність - 0 0 2 1 */ | ||
| + | .post > a.post-link { | ||
| + | color: brown; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Якщо специфічність однакова, | ||
| + | < | ||
| + | /* Три селектори елемента з однаковою специфічністю */ | ||
| + | a { | ||
| + | color: teal; | ||
| + | } | ||
| + | |||
| + | a { | ||
| + | color: brown; | ||
| + | } | ||
| + | |||
| + | /* Це правило стоїть нижче, отже до всіх посилань застосовується помаранчевий колір тексту */ | ||
| + | a { | ||
| + | color: orange; | ||
| + | } | ||
| + | </ | ||
| + | ===== !important ===== | ||
| + | |||
| + | Специфічність правила можна підвищити за допомогою ключового слова **!important**, | ||
| + | Вкрай не рекомендується використовувати !important в сучасній розробці. Єдиним прийнятним випадком є перевизначення значення властивості, | ||
| + | < | ||
| + | p { | ||
| + | color: orange !important; | ||
| + | } | ||
| + | </ | ||
| + | ===== inherit ===== | ||
| + | Якщо необхідно, | ||
| + | < | ||
| + | .post { | ||
| + | color: green; | ||
| + | } | ||
| + | |||
| + | .post-link { | ||
| + | color: inherit; | ||
| + | } | ||
| + | </ | ||
| + | ===== currentColor ===== | ||
| + | Для посилань зазвичай використовується ключове слово currentColor (поточний колір) у HTML. Мета — щоб колір тексту посилання успадковувався від секції. | ||
| + | < | ||
| + | <section class=" | ||
| + | < | ||
| + | <p> | ||
| + | Lorem, ipsum dolor sit amet consectetur adipisicing elit. Obcaecati commodi, | ||
| + | veritatis nihil alias iste odit similique sit eius optio veniam, impedit | ||
| + | cumque fuga facere labore quo id necessitatibus quaerat rerum. | ||
| + | </ | ||
| + | <a href="" | ||
| + | </ | ||
| + | .post { | ||
| + | color: green; | ||
| + | } | ||
| + | |||
| + | .post-link { | ||
| + | color: currentColor; | ||
| + | } | ||
| + | </ | ||