САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

CSS Учебник

CSS Главная CSS Введение CSS Синтаксис CSS Инструкции CSS Цвета CSS Слои Фона CSS Границы CSS Поля CSS Отступы CSS Высота и ширина CSS Бокс модель CSS Контур CSS Текст CSS Шрифты CSS Иконки CSS Ссылки CSS Списки CSS Таблицы CSS Дисплей CSS Макс. ширина CSS Позиция CSS Переполнение CSS Поплавок CSS Линейный блок CSS Выравнивание CSS Комбинаторы CSS Псевдо-классы CSS Псевдо-элементы CSS Прозрачность CSS Панель навигации CSS Выпадающий CSS Галерея CSS Спрайты CSS Атрибуты селекторов CSS Формы CSS Счетчики CSS Макет сайта CSS Еденицы измерений CSS Особенности

CSS3 Учебник

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

CSS3 Адаптивный дизайн

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

CSS Сетка

Сетка Введение Сетка Контейнер Сетка Пункт

CSS Примеры

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

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

CSS Справочник CSS Поддержка CSS Селекторы CSS Функции CSS Звук CSS Веб Шрифты CSS Анимации CSS Длины CSS PX-EM Конвертер CSS Цвета CSS Значение Цвета CSS по Умолчанию CSS Символы

СSS3 Бокс Размеры



CSS3 свойство box-sizing

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


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

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

ширина + отступ + граница = фактическая ширина элемента
высота + отступ + граница = фактическая высота элемента

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

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

div меньше (ширина 300px и высота 100px).

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 решает эту проблема.


С CSS3 свойством box-sizing

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

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

Оба дива теперь одинакового размера!

Ура!!

Вот тот же пример, что выше, с 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; для многих элементов формы (но не все - поэтому входы и текст выглядят одинакого по ширине: 100 пикселей;).

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

Пример

* {
    box-sizing: border-box;
}
Редактор кода »

Свойство CSS3 размеры бокса

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