CSS inherit — успадкувати значення від батька


Ключове слово, яке повідомляє, що необхідно наслідувати значення властивості у батьківського елементу. Звісно, результат буде помітний лише в тому випадку, якщо у батька вказана властивість встановлена.

h1 намагається успадкувати значення кольору, яке він знаходить у елементі body. Ключове слово inherit

Кожна CSS властивість може приймати, як значення, ключове слово inherit. Наприклад, ось так:

span {  
    font-size: inherit;  
}

Цим ми змушуємо певний елемент успадковувати вказане значення властивості від батьківського елемента. Якщо в CSS не інстальовано властивість для батьківського елемента, то він успадкує значення, обчислене від батька (яке може бути дефолтним або яким-небудь іншим, успадкованим від батьківського елемента).

Ключове слово inherit може стати в нагоді, якщо ви хочете привласнити одне і те ж значення групі дочірніх елементів для властивостей, які зазвичай не успадковуються. наприклад:

.block {  
  box-shadow:  0px 0px 11px rgba(0, 0, 0, 0.4);  
}  
.block div {  
    box-shadow: inherit;  
}

Тепер всі елементи <div> всередині основного елемента .block успадковують його значення властивості box-shadow.

автор: Svitlana

Загальний опис

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 4 12 8
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1

Приклади

+ запропонувати свій приклад у пісочниці

inherit явно бере значення у батька: абзац стає бордовим шрифтом Georgia, бо це стилі контейнера. Для color успадкування і так типове, але inherit незамінний там, де його типово немає (рамки, відступи).

HTML

<div class="frame">
    <p class="block">Абзац успадкував колір і шрифт від контейнера.</p>
</div>
<p>Звичайний абзац поза контейнером.</p>

CSS

.frame {
    color: #d81b60;
    font-family: Georgia, serif;
}

.block {
    color: inherit;
    font-family: inherit;
}
автор: Svitlana

Угорі — те, по що сюди приходять: посилання в кольоровому блоці без color: inherit і з ним. Унизу — властивість, яка не успадковується сама: внутрішній блок із border-color: inherit бере рамку батька, а сусідній без цього рядка малює її кольором власного тексту.

HTML

<div class="note">
    <p>Типово: <a href="#">браузер фарбує посилання у свій синій</a> — воно випадає з тексту.</p>
    <p class="own"><code>a { color: inherit }</code>: <a href="#">колір той самий, що й у тексту</a>.</p>
</div>

<div class="card">
    <p>Рамка картки — зелена, колір тексту картки теж зелений.</p>
    <div class="inner">border-color: inherit — рамка взяла колір рамки БАТЬКА</div>
    <div class="plain">border-color не задано — рамка кольору ВЛАСНОГО тексту</div>
</div>

CSS

body {
    font-family: system-ui, sans-serif;
    font-size: 16px;
}

.note {
    color: #8e2436;
    background: #fdf2f4;
    padding: 12px 16px;
    margin-bottom: 20px;
}

/* єдина відмінність другого абзацу */
.note .own a {
    color: inherit;
}

.card {
    color: #0a7d5a;
    border: 3px solid #0a7d5a;
    padding: 12px 16px;
}

.card .inner,
.card .plain {
    color: #333;
    border: 3px solid;   /* колір не заданий → currentColor */
    padding: 8px 10px;
    margin-top: 10px;
}

.card .inner {
    border-color: inherit;
}
автор: NagarD

Демонстація роботи значення.

HTML

<div>
     <p>Цей блок наслідує значення властивостей від батьківського елементу.</p></div>

CSS

body{
  font-size: 19px;
}
div { 
    border: 5px solid red;
    padding: 10px;
}
p {
    border: inherit;
    padding: inherit;
}
автор: Svitlana

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід