CSS max-height — максимальна висота елемента
CSS властивість max-height використовується, щоб встановити максимальну висоту елемента.

Властивість max-height запобігає значенню властивості height стати більшим за max-height.
Значення висоти елемента обчислюється в залежності від значень встановлених властивостей height, max-height і min-height. У таблиці нижче показано, чим керується браузер при спільному використанні зазначених стильових властивостей.
В якості значень можна використовувати одиниці довжини, проценти, а також ключові слова.
Також зверніть увагу на min-height і height.
| Значення властивостей | Висота | ||||
|---|---|---|---|---|---|
| min-height | < | height | < | max-height | height |
| height | < | max-height | height | ||
| height | > | max-height | max-height | ||
| min-height | > | height | > | max-height | min-height |
| min-height | > | height | < | max-height | min-height |
Дані з таблиці слід розуміти так, якщо значення висоти (height) більше значення max-height, то висота елемента приймається рівною значенню max-height.
Загальний опис
автор: NagarD
- Нотатка
-
Значення властивості
автор: Svitlanamax-heightперевизначає властивістьheight. - Нотатка
-
Ключові слова впливають на розрахунок ширини й висоти елементу(й не залежать від значення властивості
автор: Svitlanabox-sizing). Це не стосується до значень у одиницях довжини або процентах.
Синтаксис
max-height: none|length|initial|inherit;
Властивість max-height може отримувати 4 значень:
-
none -
Скасовує максимальну висоту
автор: Svitlana -
length -
В якості значення приймаються пікселі (px), відсотки (%) і інші одиниці виміру прийняті в CSS. Від`ємні значення не допускаються.
автор: Svitlana -
initial -
Встановлює цю властивість в значення без задання
автор: Svitlana -
inherit -
Успадкує значення властивості від свого батьківського елемента
автор: Svitlana
| Значення без задання: | none |
|---|---|
| Наслідує: | Ні |
| Анімується: | Так |
| JavaScript синтаксис: | object.style.maxHeight="100px" |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 1 | 1 | 1.3 | 7 | 12 | 7 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 4 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
Висоту абзацу обмежено 50 пікселями, а тексту більше — зайвий вміст виливається за рамку (рамка чесно показує, де закінчується сам блок).
HTML
<p class="lim">Висоту цього абзацу обмежено 50 пікселями, але тексту в ньому навмисно більше, ніж уміщається, тож видно, як вміст виходить за межі блока.</p>
CSS
p.lim {
max-height: 50px;
border: 2px solid #0172ad;
}
Обидва сині блоки мають max-height: 50%. Ліворуч батько має задану висоту — обмеження працює, і текст обрізано. Праворуч висота батька auto, відсоток немає від чого рахувати, тож обмеження зникає й видно весь текст.
HTML
<div class="parent fixed">
<div class="box">Батько має height: 130px. Відсоток рахується від неї, тож блок не може стати вищим за 65 пікселів, і зайвий текст обрізано.</div>
</div>
<div class="parent auto">
<div class="box">Батько має height: auto. Відсоток немає від чого рахувати, max-height перетворюється на none, і блок показує весь текст цілком.</div>
</div>
CSS
.parent {
width: 46%;
float: left;
margin-right: 2%;
padding: 8px;
background: #eef2f7;
}
.fixed {
height: 130px;
}
.box {
max-height: 50%;
overflow: hidden;
background: #cfe3ff;
}
Динамічний приклад
HTML
<div class="box">
<p>У цьому прикладі, Ви можете змінювати значення для властивості <strong>max-height</strong>.</p>
<p>Вона встановлює максимальну висоту для блоку.</p>
<strong>max-height: </strong>
<input type="number" class="input" id="num" value="24" min="0" step="10">px
<strong>;</strong>
</div>
CSS
* {
box-sizing: border-box;
}
body {
font-family: monospace;
font-size: 16px;
line-height: 1.45;
height: 100vh;
}
.box {
background-color: #f7f7f7;
padding: 16px;
border: 8px solid #F74C32;
max-height: 24px;
transition: all .15s ease-in;
}
.input {
margin-bottom: 36px;
width: 75px;
}
#select {
position: relative;
top: -4px;
width: 100px;
}
JS
document.querySelectorAll('.input').forEach((el) => el.addEventListener('change', function () {
var num = document.querySelector('#num').value;
document.querySelectorAll('.box').forEach((n) => n.style.setProperty('max-height', num + 'px'));
}));
Демонстрація роботи властивості
HTML
<div class="info">
<p>За допомогою властивості <code>max-height</code> ми можемо обмежувати максимальне можливе значення висоти для блоку.</p>
<p>Наприклад, висота цього блоку (сірого кольору) має дорівнювати висоті контенту (жовтого кольору), але за допомогою вище вказаної властивості, ми це можемо змінити (в нашому прикладі для блоку задана максимальна висота <em>120px</em>, тому контент вилізає за його межі).</p>
</div>
CSS
* {
box-sizing: border-box;
}
body {
font-family: monospace;
font-size: 17px;
}
.info {
padding: 6px 16px;
background-color: #bbb;
max-height: 120px;
}
.info p {
background-color: gold;
padding: 4px 6px;
}
code {
font-weight: 700;
color: #444;
border-bottom: 2px solid #666;
}
Демонстрація роботи властивості
HTML
<div class="box wrapper">
<div class="box child">
<p>max-height: 50%;</p>
<p>Цей блок ніколи не буде вищим за половину висоти батьківського елементу.</p>
</div>
<p>Не забуваємо, що на висоту також впливають поля та межі!</p>
</div>
CSS
.box {
border: 2px solid #666;
padding: 12px;
font-family: monospace;
font-size: 18px;
}
.wrapper {
height: 250px;
}
.child {
max-height: 50%;
}
Коментарі
Коментарів ще немає — будьте першим!