Успадкування
У CSS успадкування контролює те, що відбувається, коли на елементі не задано значення властивості.
Властивості CSS можна поділити на два різновиди:
- успадковані властивості, котрі усталено отримують обчислене значення батьківського елемента
- неуспадковані властивості, котрі усталено отримують власне початкове значення
Зверніться до визначення властивостей CSS, аби дізнатися, чи успадковується усталено конкретна властивість ("Успадковується: так"), чи ні ("Успадковується: ні").
Успадковані властивості
Коли для успадкованої властивості на елементі не було задано значення, елемент отримує обчислене значення цієї властивості з батьківського елемента. Лише кореневий елемент документа отримує початкове значення, доступне в описі властивості.
Типовий приклад успадкованої властивості – властивість color
. Розгляньмо наступні правила стилю та розмітку:
p {
color: green;
}
<p>Цей абзац містить <em>виділений текст</em>.</p>
Слова "виділений текст" будуть зеленими, адже елемент em
успадкував значення властивості color
від елемента p
. Він не отримує початкового значення властивості (котре є кольором, що використовується на кореневому елементі, коли сторінка не задає кольору).
Неуспадковані властивості
Коли для неуспадкованої властивості на елементі не було задано значення, елемент отримує початкове значення цієї властивості (задане в її описі).
Типовий приклад неуспадкованої властивості – властивість border
. Розгляньмо наступні правила стилю та розмітку:
p {
border: medium solid;
}
<p>Цей абзац містить <em>виділений текст</em>.</p>
Слова "виділений текст" не матимуть обрамлення (адже початкове значення border-style
– none
).
Примітки
Ключове слово inherit
дає розробникам змогу явно задавати успадкування. Воно працює і для успадкованих, і для неуспадкованих властивостей.
Контролювати успадкування всіх властивостей водночас можна за допомогою властивості-скорочення all
, котра застосовує своє значення до всіх властивостей. Наприклад:
p {
all: revert;
font-size: 200%;
font-weight: bold;
}
Це повертає стиль властивості font
абзацу до усталеного значення користувацького агента, якщо немає користувацької таблиці стилів, у випадку чого використовується значення з неї. А потім цей код подвоює розмір шрифту та застосовує font-weight
зі значенням "bold"
.
Відкидання успадкування, приклад
Якщо у попередньому прикладі з border
явно задати успадкування за допомогою inherit
, вийде таке:
p {
border: medium solid;
}
em {
border: inherit;
}
<p>Цей абзац містить <em>виділений текст</em>.</p>
Помітне додаткове обрамлення навколо слів "виділений текст".
Дивіться також
- Значення CSS для контролю успадкування:
inherit
,initial
,revert
,revert-layer
таunset
- Обробка помилок CSS
- Знайомство з каскадністю CSS
- Навчання – Обробка конфліктів
- Навчання – Каскадні шари
- Модуль Каскадності й успадкування CSS
- Посібник Синтаксис CSS
- Модуль Синтаксису CSS
- Директиви
- Початкові, обчислені, вжиті та фактичні значення
- Синтаксис визначення значень
- Модуль Вкладеності CSS