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

CSS Учебник

CSS СТАРТ CSS Введение CSS Синтаксис CSS Селекторы CSS Как подключить CSS Цвета CSS background-color CSS border CSS margin CSS padding CSS height/width CSS Блочная модель CSS Контур CSS Текст CSS Шрифты CSS Иконки CSS Ссылки CSS Списки CSS Таблицы CSS display CSS max-width CSS position CSS overflow CSS float/clear CSS inline-block CSS Выравнивание CSS Комбинаторы CSS Псевдо-классы CSS Псевдо-элементы CSS opacity/transparency CSS Панель навигации CSS Выпадающие списки CSS Галерея изображений CSS Спрайты изображений CSS Селекторы атрибутов CSS Формы CSS Счётчики CSS Макет веб-сайта CSS Единицы CSS Специфичности

CSS Продвинутый

CSS Закругленные углы CSS Границы изображения CSS Фоны CSS Цвета CSS Градиенты CSS Тени CSS Эффекты текста CSS Веб-шрифты CSS 2D Трансформации CSS 3D Трансформации CSS Переходы CSS Анимации CSS Подсказки CSS Стили изображений CSS Подгонка объекта CSS Кнопки CSS Нумерация страниц CSS Несколько столбцов CSS Пользовательский интерфейс CSS Переменные CSS Размеры блоков CSS Флексбокс CSS Медиа-запросы CSS Примеры медиа-запросов

CSS Адаптивный

RWD Введение RWD Область просмотра RWD Вид сетки RWD Медиа-запросы RWD Изображения RWD Видео RWD Фреймворки RWD Шаблоны

CSS Grid (Сетка)

Grid Введение Grid Контейнер Grid Элементы

CSS Примеры

CSS Шаблоны CSS Примеры CSS Викторина CSS Упражнения CSS Сертификат

CSS Справочники

CSS Справочник CSS Селекторы CSS Функции CSS Справочник аудио CSS Безопасные веб-шрифты CSS Анимация CSS Единицы CSS PX-EM Конвертер CSS Цвета CSS Значения цвета CSS Значения по умолчанию CSS Поддержка браузерами

CSS3. Уроки для начинающих

CSS Box Sizing - Размер блока


CSS Размер блока

CSS свойство box-sizing позволяет включать отступы и границы в общую ширину и высоту элемента.


Без CSS свойства box-sizing

По умолчанию ширина и высота элемента рассчитывается следующим образом:

width + padding + border = фактическая ширина элемента
height + padding + border = фактическая высота элемента

Это означает, что когда вы устанавливаете ширину / высоту элемента, элемент часто кажется больше, чем вы установили (потому что граница и отступ элемента добавляются к указанной ширине / высоте элемента).

На следующем рисунке показаны два элемента <div> с одинаковыми заданными шириной и высотой:

Этот div меньше (ширина 300 пикселей и высота 100 пикселей).

Этот div больше (ширина также 300px и высота 100px).

Два элемента <div> приведенные выше, в результате имеют разные размеры (потому что у div2 задан отступ):

Пример

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
}
Попробуйте сами »

Свойство box-sizing решает эту проблему.


Из CSS свойством box-sizing

Свойство box-sizing позволяет нам включать отступы и границы в общую ширину и высоту элемента.

Если вы установили box-sizing: border-box; для элементов отступ и границы включаются в ширину и высоту:

Оба div сейчас одинакового размера!

Ура!

Вот тот же пример, что и выше, с box-sizing: border-box; добавлен в оба элемента <div>:

Пример

.div1 {
  width: 300px;
  height: 100px;
  border: 1px solid blue;
  box-sizing: border-box;
}

.div2 {
  width: 300px;
  height: 100px;
  padding: 50px;
  border: 1px solid red;
  box-sizing: border-box;
}
Попробуйте сами »

Поскольку результат использования box-sizing: border-box; намного лучше, многие разработчики хотят, чтобы все элементы на их страницах работали таким образом.

Приведенный ниже код гарантирует, что все элементы будут иметь более удобный размер. Многие браузеры уже используют box-sizing: border-box; для многих элементов формы (но не для всех - поэтому входные и текстовые области выглядят по-разному по width: 100%;).

Применять это ко всем элементам безопасно и разумно:

Пример

* {
  box-sizing: border-box;
}
Попробуйте сами »

CSS свойство Box Sizing

Свойство Описание
box-sizing Определяет, как рассчитываются ширина и высота элемента: должны ли они содержать отступы и границы или нет