Разное

Width max content: max-content — CSS: Cascading Style Sheets

19.06.2023

Содержание

Подстройка html элементов под ширину контента

Контент при верстке всегда помещается в элементы-контейнеры, и затем они стилизуются. В некоторых случаях необходимо определить размеры контейнера для контента, не задавая принудительно ему значение. Существует свойство min-content – это одно из встроенных свойств CSS, которые верстальщики используют для создания content-first дизайна. В этой статье рассмотрим CSS свойство max-content, позволяющее задавать неразрывные области.

 

Использование свойства max-content для обертки групп изображений

К примеру, у нас есть набор изображений:

 

Тут все портит пустое пространство после последнего изображения.

Конечно можно использовать решение для адаптивных изображений, чтобы полностью заполнить эту область. Или вообще использовать другой подход – уменьшать размер области до тех пор, пока изображения не впишутся в эту область. Для этого нужно просуммировать ширину всех изображений и  сделать ширину контейнера равную этой сумме. На самом деле, это довольно кропотливая работа и в случае изменения размера изображений придется все делать по новой. Есть путь проще – воспользоваться свойством max-content (обратите внимание, что свойство прописывается с вендорными свойствами):

 

 

Это куда более лучший результат. В качестве альтернативы можно использовать другие свойства – display: inline-block, display: table-cell или float, но все они имеют некоторые ограничения и зависят от того как, на странице располагается контент.
width:max-content влияет только на ширину элемента и размещает,помещенные в него элементы, в одну строку.

 

 

Использование max-content для контроля заголовка

Хороший способ охарактеризовать min-content и max-content – это то, что в min-content текст будет заполняться пока не «упрется» в какой-то объект (н-р, изображение), в то время как max-content никогда этого не сделает:

 

В результате текст под картинкой будет приоритетным, заполняя всегда одну строку, т. е. текст является неделимым. При этом надо быть осторожным, т.к. блокируется отзывчивость элементов.

 

Использование max-content в отзывчивом дизайне

Применив немного сообразительности, и мы сможем использовать max-content в отзывчивом дизайне:

figure{
	margin: 0; 
	width: 33%;
	max-width: max-content; 
	border: 4px solid black; padding: .4rem; 
}

В этом примере мы делаем элемент <figure> равным 33% от ширины контейнера, но не больше длины текста.

 

Поддержка и особенности

max-content является частью CSS и это свойство было внедрено еще в Firefox4, но не стало популярным. Одной из причин является то, что это свойство требует прописывания префиксов:

max-width: -moz-max-content;
max-width: -webkit-max-content;
max-width: max-content;

 

Также еще одним весомым фактором является поддержка Internet Explorer. Это свойство не было включено даже в браузер Internet Explorer 11. Также не поддерживает это свойство Android, поэтому для браузеров IE  и Android необходимо отдельно использовать другие способы (display: inline-block, display: table-cell или float), чтобы достичь подобного эффекта.

 

Перевод статьи

CSS max-width

HTML5CSS.ru

ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ

❮ Назад Полный CSS Справочник Дальше ❯


Пример

Задайте максимальную ширину элемента <p> до 150 пикселей:

p.ex1 {
    max-width: 150px;
}

Подробнее примеры ниже.


Определение и использование

Свойство max-width определяет максимальную ширину элемента.

Если размер содержимого превышает максимальную ширину, он автоматически изменит высоту элемента.

Если содержимое меньше максимальной ширины, свойство max-width не имеет эффекта.

Примечание: Это предотвращает значение свойства Width, превышающее max-width. Значение свойства max-width переопределяет свойство Width.

Значение по умолчанию:none
Inherited:no
Animatable:yes, see individual properties. Читайте о animatable
Version:CSS2
Синтаксис JavaScript: object.style.maxWidth=»600px»


Поддержка браузера

Номера в таблице указывают первую версию браузера, которая полностью поддерживает свойство.

Свойство
max-width1.07.01.02.0.27.0



Синтаксис CSS

max-width: none|length|initial|inherit;

Значения свойств

ЗначениеОписание
noneНет максимальной ширины. Это значение по умолчанию
lengthОпределяет максимальную ширину в пикселах, см и т. д. читать о единицах длины
%Определяет максимальную ширину в процентах от содержащего блока
initialПрисваивает этому свойству значение по умолчанию. (Читайте о initial)
inheritНаследует это свойство из родительского элемента. (Читайте о inherit)


Другие примеры

Пример

Установите максимальную ширину элемента <p> до 50% контейнера:

p.ex1 {
    max-width: 50%;
}


Похожие страницы

CSS Справочник: CSS Height and Width

CSS Справка: min-width Свойство

HTML DOM Справочник: maxWidth Свойство

❮ Назад Полный CSS Справочник Дальше ❯

Популярное CSS

css текст
блоки css
css картинки
как сделать css
цвета css
шрифты css
css стили
елементы css
фон css
кнопки css
таблица css
размер css
ссылки css
изображение css
выравнивание css
внешние отступы css
внутренние отступы css
списки css
css ширина
css при наведении
css формы



Copyright 2018-2020 HTML5CSS. ru

Правила и Условия Политика конфиденциальности О нас Контакты

Понимание min-content, max-content и fit-content в CSS

Понимание свойств размеров CSS необходимо разработчикам, которым нужна гибкость для надлежащего представления содержимого веб-страницы.

В CSS мы определяем размер элемента, используя длину ( px , em ), процентное соотношение и значения ключевого слова. Хотя типы длины и процентного значения часто используются для макетов веб-страниц, они не всегда идеально подходят.

В некоторых случаях мы используем типы значений ключевых слов, в том числе fit-content , min-content и max-content .

В этом руководстве мы рассмотрим значения этих ключевых слов, их различия и то, как их можно применить к реальному проекту.

Прежде чем мы продолжим, убедитесь, что у вас есть базовые знания CSS.

Внутренний и внешний размер

Рассмотрим элемент div , содержащий содержимое с фиксированной шириной и высотой из 200px :

 <дел>
  nemo suscipitarchitectodeserunt vero, eveniet soluta deleniti alias dolor
  illum presentium ipsa минус

Здесь мы дали div границу, чтобы увидеть степень размера.

Когда мы изменяем естественный размер элемента, применяя к нему определенное значение, как показано на изображении выше, мы называем этот размер внешним.

С другой стороны, когда размер содержимого определяет размер элемента, мы называем это внутренним или естественным размером.

Ограничивая размер блока определенным размером, мы сталкиваемся с переполнением контента, обратной стороной внешнего размера.

Тем не менее, мы можем исправить нежелательное поведение, чтобы создать лучший макет, определив собственный размер элемента из содержимого с помощью значений ключевых слов.

Значение ключевого слова

min-content

Согласно спецификациям W3C, min-content — это наименьший размер блока, который может принять блок без переполнения его содержимого.

Для горизонтального содержимого min-content

использует длину самого широкого бита содержимого в поле элемента и автоматически устанавливает это значение длины в качестве ширины поля.


Более 200 000 разработчиков используют LogRocket для улучшения цифрового взаимодействия

Подробнее →


Контент в этом случае включает текст и активы, такие как изображения и видео.

Если мы вернемся к приведенному выше примеру с блоком, мы можем применить min-content к элементу блока следующим образом:

 .s_2 {
  /* ... */
  ширина: мин-контент;
  /* ... */
}
 

И у нас должна получиться вот такая раскладка:

Здесь с min-content

самое длинное слово в содержимом определяет размер блока; это внутренняя минимальная ширина коробки.

Практические примеры значения ключевого слова

min-content

Чтобы реализовать ключевое слово min-content в реальном проекте, давайте рассмотрим следующие варианты использования.

Добавление подписей к изображениям

В случае, когда мы хотим пометить изображение подписью, которая соответствует ширине изображения, мы можем использовать min-content для беспрепятственного достижения желаемого результата.

Давайте посмотрим на следующий код:

 <рисунок>
  <изображение
    src="https://upload.wikimedia.org/wikipedia/commons/1/1b/Square_200x200.png"
    alt="образец"
  />
Lorem ipsum dolor sit amet consectetur adipisicing elit

Это дает элементу фигура границу, чтобы увидеть размер размера.

Поскольку фигура является блочным элементом, ее ширина естественным образом занимает элемент-контейнер.

При назначении ширины из min-content элементу figure его размер определяется самым широким битом содержимого. В этом случае самый широкий бит — это изображение:

 цифра {
  /* ... */
  ширина: мин-контент;
}
 

Это отображает следующий вывод с изображением, определяющим ширину:

Размерная сетка и элементы flexbox

min-content также является допустимым значением для свойств сетки и гибкого размера. В CSS свойство flex-basis системы flexbox устанавливает размер блока содержимого. Это делает ключевое слово min-content идеальным значением для автоматического получения внутреннего минимального размера блока.

В данном случае мы используем flex-basis: min-content .

Аналогичным образом, в системе сетки мы можем назначить ключевое слово min-content свойствам grid-template-rows

или grid-template-columns , чтобы получить внутренний минимальный размер блока.

Рассмотрим следующий код:

 <дел>
  <заголовок>
    
  
  <дел>