min-height ⚡️ HTML и CSS с примерами кода
Свойство min-height
задаёт минимальную высоту элемента.
Значение высоты элемента будет вычисляться в зависимости от установленных значений свойств height
, max-height
и min-height
.
Если значение высоты (height
) меньше значения min-height
, то высота элемента принимается равной min-height
.
Демо
Блоки- height
- width
- max-height
- max-width
- min-height
- min-width
- margin
- margin-bottom
- margin-left
- margin-right
- margin-top
- margin-trim
- padding
- padding-bottom
- padding-left
- padding-right
- padding-top
- overflow
- overflow-x
- overflow-y
- visibility
Синтаксис
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | /* <length> value */ min-height: 3. 5em; /* <percentage> value */ min-height: 10%; /* Keyword values */ min-height: max-content; min-height: min-content; min-height: fit-content; min-height: fill-available; /* Global values */ min-height: inherit; min-height: initial; min-height: unset; |
Значения
В качестве значений принимаются пиксели (px), проценты (%) и другие единицы измерения, принятые в CSS. Отрицательные значения не допускаются.
auto
- Минимальная высота для flex-элементов по умолчанию, предоставляет более разумное значение по умолчанию, чем
0
для других способов разметки. max-content
- Внутренняя предпочтительная высота.
min-content
- Внутренняя минимальная высота.
fill-available
- Высота родительского блока минус вертикальные
margin
,border
, иpadding
. (Обратите внимание, что некоторые браузеры реализуют устаревшее имя для этого ключевого словаavailable
. ) fit-content
- Согласно CSS3 Box, это синоним min-content. CSS3 Sizing определяет более сложный алгоритм, но ни один браузер не реализует его даже экспериментальным путем.
Значение по-умолчанию:
min-height: auto; |
Применяется ко всем элементам, кроме строчных и таблиц
Спецификации
- CSS Intrinsic & Extrinsic Sizing Module Level 3
- CSS Flexible Box Layout Module
- CSS Transitions
- CSS Level 2 (Revision 1)
Поддержка браузерами
Can I Use minmaxwh? Data on support for the minmaxwh feature across the major browsers from caniuse.com.
Описание и примеры
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>min-height</title> <style> footer { background: #66806e url(/example/image/clover. |
min-width | CSS | WebReference
Устанавливает минимальную ширину элемента. Если окно браузера по ширине становится меньше заданной минимальной ширины элемента, то ширина элемента остается неизменной, а в окне появляется горизонтальная полоса прокрутки.
Значение ширины элемента будет вычисляться в зависимости от установленных значений свойств width, max-width и min-width. В табл. 1 показано, чем руководствуется браузер при совместном использовании указанных стилевых свойств.
Значения свойств | Ширина | ||||
---|---|---|---|---|---|
min-width | < | width | < | max-width | width |
min-width | > | width | > | max-width | min-width |
min-width | > | width | < | max-width | min-width |
min-width | < | width | |||
min-width | > | width | min-width | ||
min-width | > | max-width | min-width | ||
min-width | < | max-width | max-width |
Данные из таблицы следует понимать следующим образом. Если значение ширины (width) меньше значения min-width, то ширина элемента принимается равной min-width.
Краткая информация
Значение по умолчанию | 0 |
---|---|
Наследуется | Нет |
Применяется | Ко всем элементам, кроме строчных и таблиц |
Анимируется | Да |
Синтаксис
min-width: <размер> | <проценты>Синтаксис
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps | |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Значения
В качестве значений принимаются пиксели (px), проценты (%) и другие единицы измерения, принятые в CSS. Отрицательные значения не допускаются.
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>min-width</title> <style> .Результат данного примера показан на рис. 1.
Рис. 1. Результат использования min-width в браузере
Объектная модель
Объект.style.minWidth
Спецификация
Спецификация | Статус |
---|---|
CSS Intrinsic & Extrinsic Sizing Module Level 3 | Рабочий проект |
CSS Level 2 Revision 1 (CSS 2. 1) | Рекомендация |
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
7 | 12 | 1 | 7 | 1 | 1 |
1 | 1 | 7 | 1 |
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Размеры
См. также
- max-height
- max-width
- min-height
- width
- Адаптивный макет на флексбоксах
Размеры | Windi CSS
Width
Утилиты для установки ширины элемента
auto
px
full
screen
min
max 90 005
проза
xs
sm
md
lg
xl
2xl
3xl
screen-sm
screen-md
screen-lg
screen-xl
screen-2xl
9 0004 11,5
2
4
8
10
12
14
18
20
24 9000 5
1/2
1/3
3/5
11/12
4rem
60px
Настройкаwindi. config.js
экспорт по умолчанию { тема: { продлевать: { ширина: { половина: «50%», }, }, }, }
Min-Width
Утилиты для установки минимальной ширины элемента
нет
px
full
screen
min
max
prose
xs
sm
md
9 0004 lgxl
2xl
3xl
экран sm
экран md
screen-lg
screen-xl
screen-2xl
1
1.5
2
4
8
1 0
12
14
18
20
24
1/2
1/3
3/5
11/12
4rem
60px
Настройкаwindi.config.js 900 05
экспорт по умолчанию { тема: { минимальная ширина: { половина: «50%», полный: «100%», }, }, }
Max-Width
Утилиты для установки максимальной ширины элемента
нет
px
полный
экран
min
max 90 005
проза
хз
см
md
lg
xl
2xl
3xl
screen-sm
screen-md
screen-lg 9 0005
экран-xl
экран-2xl
1
1,5
2
4
8
10
12
14
18
20
24
900 04 1/21/3
3/5
11/12
4rem
60px
Настройкаwindi. config.js
экспорт по умолчанию { тема: { Максимальная ширина: { «1/4»: «25%», «1/2»: «50%», «3/4»: «75%», }, }, }
Height
Утилиты для установки высоты элемента
auto
px
full
screen
min
max
9 0004 prosexs
sm
md
lg
xl
2xl
3xl
экран sm
экран md
экран-lg
экран-xl
экран-2xl
1
1.5
2
4
8
90 004 1012
14
18
20
24
1 /2
1/3
3/5
11/12
4rem
60px
Настройкаwindi.config.js
экспорт по умолчанию { тема: { высота: { см: '8px', мд: '16px', LG: '24px', XL: '48px', }, }, }
Min-Height
Утилиты для установки минимальной высоты элемента
нет
px
полный
экран
min
max 9000 5
prose
xs
sm
md
lg
xl
2xl
3xl
экран-sm
экран-md
экран-lg
экран-xl
экран-2xl 9 0005
1
1,5
2
4
8
10
12
14
18
20
24
9000 4 1/21/3
3/5
11/12
4rem
60px
Настройкаwindi. config.js
экспорт по умолчанию { тема: { минВысота: { «0»: «0», «1/4»: «25%», «1/2»: «50%», «3/4»: «75%», «полный»: «100%», }, }, }
Max-Height
Утилиты для установки максимальной высоты элемента
нет
пикселей
полный
экран
мин
макс
проза
xs
см 90 005
md
lg
xl
2xl
3xl
экран-см
экран -md
экран-lg
экран-xl
экран-2xl
1
1.5
2
4
8
10
12
14
18
20
24
1/2
1/3
3/5
11/12
4rem
60px
Настройкаwindi.config.js
экспорт по умолчанию { тема: { максимальная высота: { «0»: «0», «1/4»: «25%», «1/2»: «50%», «3/4»: «75%», «полный»: «100%», }, }, }
Box Sizing
Утилиты для управления тем, как браузер должен вычислять общий размер элемента.
Использование
box-border
, чтобы указать браузеру включать границы и отступы элемента, когда вы задаете ему высоту или ширину . Это означает, что элемент 100px × 100px с рамкой 2px и отступом 4px со всех сторон будет отображаться как 100px × 100px с внутренней областью содержимого 88px × 88px. Windi делает это значение по умолчанию для всех элементов в наших базовых стилях предварительной проверки.Используйте
box-content
, чтобы сообщить браузеру добавьте границы и отступы поверх указанной ширины или высоты элемента . Это означает, что элемент 100px × 100px с рамкой 2px и отступом 4px со всех сторон будет фактически отображаться как 112px × 112px с внутренней областью содержимого 100px × 100px.
граница
контент
Предложить изменения на этой страницеPositioningSpacingfit-content и fit-content() — QuirksBlog
fit-content и fit-content() — QuirksBlogУлучшить свой CSS? Наймите меня своим тренером.
Архивы JavaScript Совместимость CSS коучинг QuirksБлог Пожертвования Политика Мобильный О COH
Сегодня мы рассмотрим fit-content
и fit-content()
, которые являются специальными значениями ширины
и определения сетки. Это … сложно — не как концепция, а в ее практическом применении.
[ Хотите улучшить свой CSS? Вы можете нанять меня в качестве Тренер по CSS. ]
минимальное и максимальное содержание
Прежде чем рассматривать fit-content
, мы должны кратко рассмотреть два других специальных значения width
: min-content
и max-content
. Они нужны вам для понимания fit-content
.
Обычно (т. е. с шириной : задано или подразумевается автоматическое
) поле занимает столько горизонтального пространства, сколько может. Вы можете изменить горизонтальное пространство, задав ширину
определенное значение, но вы также можете приказать браузеру определять его по содержимому коробки. Вот что min-content
и max-content
делают.
Попробуйте их ниже.
минимальное содержание и максимальное содержание
ширина: авто
: максимально возможная width: max-content
width: min-content
width: max-content
с длинным текстом, который рискует исчезнуть прямо из окна браузера, если будет продолжаться намного дольше-
минимальное содержание
означает: минимальная ширина, необходимая блоку для его содержимого. На практике это означает, что браузеры видят, какая часть контента самая широкая, и устанавливают ширину поля на это значение. Самый широкий фрагмент контента — это самое длинное слово в тексте, самое широкое изображение, видео или другой ресурс. -
max-content
означает: ширина, необходимая блоку для размещения всего его содержимого. В случае с текстом это означает, что весь текст помещается в одну строку, а поле становится настолько широким, насколько это необходимо, чтобы вместить всю эту строку. В общем, это нежелательный эффект. Самый большой бит контента также может быть изображением или видео другим активом; в этом случае браузеры используют эту ширину для определения ширины поля. 905:00
Если вы используете дефисы : auto
или что-то подобное, браузер разобьет слова в правильных точках переноса, прежде чем определить минимальную ширину. (Я отключил переносы в примерах.)
Кроличья нора Quick Chromia/Android
Все браузеры на базе Chromium на Android (протестировано в Chrome (v90), Samsung Internet (v87) и Edge (v77)) обрывают текст «width: max-content» в приведенном выше примере на тире и, таким образом, берут ‘width: max-‘ в качестве максимального содержимого, при условии, что страница НЕ имеет метапросмотра. Ни один другой браузер не делает этого, включая Chrome на Mac.
Кроме того, Chromia на Android делает размер шрифта немного меньше, когда вы изменяете размер полей ниже максимально возможной ширины. Я проигнорирую обе ошибки, потому что эта статья о fit-content
, а не об этих кроличьих норах.
Эти ошибки НЕ возникают в UC (на основе Chromium 78). Похоже, UC принимает здесь свои собственные решения и невосприимчив к этим конкретным ошибкам.
фит-контент
Теперь, когда мы понимаем эти значения, мы также понимаем фит-контент
. По сути, это сокращение для следующего:
коробка { ширина: авто; минимальная ширина: минимальное содержание; максимальная ширина: максимальное содержание; }
Таким образом, размер блока с его содержащим блоком, но минимум min-content
и максимум max-content
.
fit-content как ширина, минимальная ширина и максимальная ширина
width: fit-content
: пытаюсь найти свою форму min-width: fit-content
максимальная ширина: подходит для содержимого
Я не уверен, полезен ли этот эффект вне контекста сетки или flexbox, но он здесь, если он вам нужен.
fit-content как min- или max-width
Вы также можете использовать fit-content
как значение min-width
или max-width
; см. пример выше. Первое означает, что ширина поля варьируется между min-content и auto, а второе означает, что она варьируется от 0 до max-content.
Я нахожу это довольно бесполезным и потенциально запутанным. То, что вы действительно имеете в виду, это min-width: min-content
или max-width: max-content
. Если ты это имеешь в виду, так и скажи. Ваш CSS будет яснее, если вы это сделаете.
Поэтому я считаю, что лучше не использовать fit-content
вместо min-width
или max-width
; но только для ширина
.
fit-content во флексбоксе и сетке
fit-content
также работает во flexbox и сетке. Среднее поле в двух приведенных ниже примерах соответствует своему содержимому.
Предостережение для flexbox: не используйте flex-grow: 1
или любое другое значение выше 0; это дает поле разрешение на размер, превышающий расчетную ширину, и эффект fit-content
теряется.
Flexbox с фит-контентом
Тестовое содержимое
fit-content
Тестовое содержимое
А в сетке
Сетка с подходящим контентом
Тестовое содержимое
fit-content
Тестовое содержимое
подходящее содержимое ()
Перейдем к более сложной части: fit-content()
. Хотя он должен работать для обычной ширины
, это не так.
fit-content и fit-content() как ширина
width: fit-content
: пытаюсь найти свою форму ширина: по размеру содержимого (200 пикселей)
Сетка
Вы можете использовать fit-content(value)
в шаблонах сетки, например:
1fr fit-content(200px) 1fr
Сетка с подходящим контентом (200 пикселей)
Тестовое содержимое
fit-content(200px)
Тестовое содержимое
Это означает
1fr min(max-content-size, max(min-content, 200px)) 1fr
Аргумент max()
становится min-content
или 200 пикселей, в зависимости от того, что больше. Затем это сравнивается с максимальным размером содержимого, который представляет собой фактическую ширину, доступную из-за ограничений сетки, но с максимальным значением 9.0489 максимальное содержание . Таким образом, реальная формула больше похожа на эту, где доступных размеров
— это доступная ширина в сетке:
1fr min(min(max-content, available-size), max(min-content, 200px)) 1fr
Некоторые синтаксические примечания:
- Здесь мы говорим о функции
fit-content()
.fit-content
ключевое слово не работает в определениях сетки. -
fit-content()
нужен аргумент; пустая функция не работает. Кроме того, аргумент вfr
единиц недействителен. - MDN упоминает значение
fit-content(stretch)
. Он нигде не работает и нигде больше не упоминается. Я предполагаю, что это происходит из более старой версии спецификации.
Я протестировал большинство из этих вещей в следующем примере, где вы также можете попробовать части синтаксиса, которые не работают — возможно, они начнут работать позже.