что такое блочная модель css

Блочная модель

что такое блочная модель css. 3 01. что такое блочная модель css фото. что такое блочная модель css-3 01. картинка что такое блочная модель css. картинка 3 01. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.1. Свойства, формирующие блочный элемент

Для наглядности свойства блока можно представить в виде матрёшек (рис. 3.2). Любую маленькую матрёшку можно вставить в более крупную матрёшку, но никак не наоборот.

что такое блочная модель css. 3 02. что такое блочная модель css фото. что такое блочная модель css-3 02. картинка что такое блочная модель css. картинка 3 02. Рис. 3.1. Свойства, формирующие блочный элемент

Полем будем называть расстояние от внутреннего края границы или края блока до воображаемого прямоугольника, ограничивающего содержимое блока. Из-за того, что значения полей могут различаться на каждой стороне, применяют выражения «верхнее поле» или «поле сверху», и им подобные для других сторон. Обозначение «поля» следует понимать как одинаковое значение полей для всех сторон. Основное предназначение полей — создать пустое пространство вокруг содержимого блочного элемента, например текста, чтобы он не прилегал плотно к краю элемента. Использование полей повышает читабельность текста и улучшает внешний вид страницы. В примере 3.1 показано использование полей для оформления текста.

Пример 3.1.Использование свойства padding

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Результат примера показан на рис. 3.3.

что такое блочная модель css. 3 03. что такое блочная модель css фото. что такое блочная модель css-3 03. картинка что такое блочная модель css. картинка 3 03. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.3. Поля вокруг текста

Значения полей не могут быть отрицательными.

Границы

Пример 3.2. Красная пунктирная линия

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 3.4.

что такое блочная модель css. 3 04. что такое блочная модель css фото. что такое блочная модель css-3 04. картинка что такое блочная модель css. картинка 3 04. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.4. Линия возле текста

Отступы

Отступом будем называть пустое пространство от внешнего края границы, полей или содержимого блока. Как уже упоминалось, границы с полями не обязательны и могут отсутствовать, так что способ формирования отступов зависит от ситуации. Как и в случае с полями, применяют выражения «верхний отступ» или «отступ сверху», и им подобные для других сторон. Обозначение «отступы» следует понимать как одинаковое значение отступов для всех сторон.

Для отступов характерны следующие особенности.

В примере 3.3 показано схлопывание отступов и их прозрачность.

Пример 3.3. Использование отступов

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 3.5. Обратите внимание, что расстояние между блоками равно 20 пикселов, а не 40, которые получаются суммированием верхнего и нижнего отступа у блоков. Это происходит за счёт эффекта схлопывания, при котором близлежащие отступы объединяются.

что такое блочная модель css. 3 05. что такое блочная модель css фото. что такое блочная модель css-3 05. картинка что такое блочная модель css. картинка 3 05. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.5. Отступы в элементе

Ширина блока

Ширина блока это комплексная величина и складывается из нескольких значений свойств:

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

что такое блочная модель css. 3 06. что такое блочная модель css фото. что такое блочная модель css-3 06. картинка что такое блочная модель css. картинка 3 06. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.6. Ширина блока

Допустим, для слоя написан следующий стиль.

Ширина блока согласно этой записи будет равна 342 пиксела, эта величина получается складыванием значения ширины контента плюс отступ слева, граница слева и поле слева, плюс поле справа, граница справа и отступ справа. Суммируем все числа.

Ширина = 300 + 7 + 7 + 4 + 4 + 10 + 10 = 342

Надо отметить, что блочная модель с формированием ширины несет в себе кучу неудобств. Постоянно приходится заниматься вычислениями, когда требуется задать определенную ширину блока. Также начинаются проблемы при сочетании разных единиц измерения, в частности, процентов и пикселов. Предположим, что ширина контента задана как 90%, если сюда приплюсовать поля и границы, заданные в пикселах, то нельзя вычислить суммарную ширину блока, поскольку проценты напрямую в пикселы не переводятся (в CSS3 так суммировать можно, только поддерживается эта возможность далеко не всеми браузерами). В итоге может получиться так, что общая ширина блока превысит ширину веб-страницы, что приведёт к появлению горизонтальной полосы прокрутки. Выходов из подобной ситуации два — поменять алгоритм блочной модели и воспользоваться вложенными слоями.

Алгоритм блочной модели

Табл. 3.1. Поддержка браузерами свойства box-sizing

БраузерInternet ExplorerChromeOperaSafariFirefox
Версия8.0+2.0+7.0+3.0+1.0+
Свойствоbox-sizing-webkit-box-sizingbox-sizing-webkit-box-sizing-moz-box-sizing

Как видно из таблицы, в свойствах разброд и шатание, поэтому придется делать гибрид и указывать все три свойства одновременно (пример 3.4).

Пример 3.4. Ширина блока

XHTML 1.0 CSS 3 IE 7 IE 8+ Cr Op Sa Fx

Вложенные слои

Использование свойства box-sizing всем хорошо, кроме того, что не работает в старых версиях IE. Если вы верстаете сайт с учетом IE7 и IE6, вам подойдёт старый проверенный метод с вложением слоев. Идея простая — для внешнего блочного элемента задаётся только необходимая ширина, а для вложенного блока всё остальное — поля, границы и отступы. Поскольку по умолчанию ширина блока равна доступной ширине родителя, получится, что блоки в каком-то смысле накладываются друг на друга, при этом фактическая ширина такого комбинированного элемента будет чётко задана. В примере 3.5 показано использование вложенных слоев.

Пример 3.5. Вложенные слои

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 3.7.

что такое блочная модель css. 3 07. что такое блочная модель css фото. что такое блочная модель css-3 07. картинка что такое блочная модель css. картинка 3 07. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.7. Ширина блока в процентах

Преимуществом вложенных слоев является использование отступов ( box-sizing их не учитывает), универсальность метода, также то, что фон по желанию можно добавлять к одному или другому слою. Тем самым несколько меняется внешний вид элементов, это особенно актуально при включении фоновых рисунков. Из недостатков метода можно отметить добавление дополнительного блока, который усложняет структуру кода, особенно при частом применении метода. Но это можно считать мелочью по сравнению с преимуществами.

Высота блока

что такое блочная модель css. 3 08. что такое блочная модель css фото. что такое блочная модель css-3 08. картинка что такое блочная модель css. картинка 3 08. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.8. Высота блока

Пример 3.6. Высота блока

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Результат данного примера показан на рис. 3.9.

что такое блочная модель css. 3 09. что такое блочная модель css фото. что такое блочная модель css-3 09. картинка что такое блочная модель css. картинка 3 09. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.9. Высота блока в процентах

С высотой связана ещё одна особенность — при превышении содержимого блока его размеров при заданной высоте, содержимое начинается отображаться поверх блока (рис. 3.10).

что такое блочная модель css. 3 10. что такое блочная модель css фото. что такое блочная модель css-3 10. картинка что такое блочная модель css. картинка 3 10. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 3.10. Превышение размеров блока

Код, приводящий к подобному результату, приведен в примере 3.7.

Пример 3.7. Превышение размеров блока

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

что такое блочная модель css. 3 11a. что такое блочная модель css фото. что такое блочная модель css-3 11a. картинка что такое блочная модель css. картинка 3 11a. Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. 3 11b. что такое блочная модель css фото. что такое блочная модель css-3 11b. картинка что такое блочная модель css. картинка 3 11b. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 11. Использование свойства overflow

Если задать одновременно цвет фона и пунктирную границу блока, то становится заметно, что граница проходит внутри цветной области. Правда в разных браузерах наблюдается разночтение, в частности Internet Explorer до версии 7.0 включительно содержит ошибку, при которой фон выводится по внутреннему краю границы (рис. 12в). Начиная с версии 8.0 эта ошибка исправлена, и фон выводится по стандартам (рис. 12г). Браузеры Opera (рис. 12а), Firefox (12б), Safari и Chrome (рис. 12д) фон выводят правильно. Небольшие различия наблюдаются при отображении пунктирной рамки, но они не влияют на блочную модель.

что такое блочная модель css. 3 12a. что такое блочная модель css фото. что такое блочная модель css-3 12a. картинка что такое блочная модель css. картинка 3 12a. Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. 3 12b. что такое блочная модель css фото. что такое блочная модель css-3 12b. картинка что такое блочная модель css. картинка 3 12b. Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. 3 12c. что такое блочная модель css фото. что такое блочная модель css-3 12c. картинка что такое блочная модель css. картинка 3 12c. Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. 3 12d. что такое блочная модель css фото. что такое блочная модель css-3 12d. картинка что такое блочная модель css. картинка 3 12d. Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. 3 12e. что такое блочная модель css фото. что такое блочная модель css-3 12e. картинка что такое блочная модель css. картинка 3 12e. Рис. 3.1. Свойства, формирующие блочный элемент

Рис. 12. Отображение фона в браузере

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

Пример 3.8. Фон и граница

XHTML 1.0 CSS 2.1 IE 7 IE 8+ Cr Op Sa Fx

Различия в подходе браузеров при рисовании границ заметны только на цветном фоне и пунктирных линиях. Для сплошной рамки вид блока в браузерах будет практически одинаковым.

Источник

Основы CSS: блочная модель

Авторизуйтесь

Основы CSS: блочная модель

что такое блочная модель css. css box model. что такое блочная модель css фото. что такое блочная модель css-css box model. картинка что такое блочная модель css. картинка css box model. Рис. 3.1. Свойства, формирующие блочный элемент

Один из лучших способов внести изменения во внешний вид своего сайта — похимичить с CSS, с помощью которого можно поменять всё: от цветов сайта до шрифтов и фоновых изображений.

В этой статье для начинающих мы разбёремся, что такое блочная модель и как она работает. Сначала мы пройдёмся по теоретической части, а затем применим её на практике.

Блоки — они повсюду!

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

Заголовок? Прямоугольник. Боковая панель? Прямоугольник. Изображение? Тоже прямоугольник. Само собой, обычно мы называем их не прямоугольниками, а HTML-элементами, которые бывают разных типов.

Строчные и блочные элементы

Есть два типа HTML-элементов: строчные и блочные. Между ними есть разительные отличия, которые также влияют на использование блочной модели CSS.

13–15 декабря, Онлайн, Беcплатно

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

Этот цитатный блок — пример блочного элемента. Как вы видите по его фону, он занимает всю ширину контейнера, а не растягивается только до тех мест, где есть текст.

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

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

Просто откройте вкладку Текст в режиме редактора для просмотра кода содержимого и вы всё увидите:

что такое блочная модель css. text tab 1. что такое блочная модель css фото. что такое блочная модель css-text tab 1. картинка что такое блочная модель css. картинка text tab 1. Рис. 3.1. Свойства, формирующие блочный элемент

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

Так или иначе, из-за такого поведения большая часть блочной модели CSS применима только к блочным элементам. Скоро вы поймёте, почему.

Так что это за блочная модель?

Возможно, вы об этом не знаете, но у каждого HTML-элемента есть блок, который его окружает. Этот блок состоит из нескольких слоёв, которыми можно независимо управлять с помощью CSS. Это позволяет разместить элементы относительно друг друга и оформить их разными способами.

Вот из чего состоят слои:

Вот вам, собственно, и блочная модель CSS. Она становится ещё понятнее, если взглянуть на эту диаграмму:

что такое блочная модель css. csss box model. что такое блочная модель css фото. что такое блочная модель css-csss box model. картинка что такое блочная модель css. картинка csss box model. Рис. 3.1. Свойства, формирующие блочный элемент

Так как у каждого из слоёв есть соответствующее CSS-свойство, блочная модель представляет основные способы определения размера, положения и внешнего вида HTML-элемента. Как следствие, вы получаете возможность сильно изменить содержимое страницы. Рассмотрим несколько примеров, чтобы понять, как это работает.

Примеры использования блочной модели

Создадим простую страницу с блочным элементом:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

Для блока мы определили цвета фона, чтобы вы могли видеть, как он растягивается по экрану. Это позволит лучше понять то, что будет происходить дальше. Вот соответствующий CSS:

Давайте внесём несколько изменений.

Изменяем ширину

Для него можно установить разные значения. Мы можем использовать фиксированную ширину вроде пикселей или пропорциональное значение вроде процентов. Последний вариант особенно важен для штук вроде адаптивного дизайна. Однако для простоты обойдёмся пикселями.

Добавляем новое свойство в стили:

После перезагрузки страницы вы должны увидеть следующее:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

Вы сразу заметите, как теперь ограничено растягивание div вправо. Также, как видите, его высота автоматически изменяется, чтобы уместить внутренний текст. Давайте ещё увеличим её.

Увеличиваем высоту элемента через CSS

С высотой мы можем делать всё то же самое, что и с шириной: устанавливать фиксированное или пропорциональное значение. Добавляем в стили:

В итоге страница выглядит так:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

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

Знакомимся с границами

В принципе, достаточно просто определить толщину границ. Тем не менее, в большинстве случаев результат будет лучше при определении всех трёх значений. Меняем CSS:

И получаем результат:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

Выглядит здорово, не так ли 🙂

Добавляем отступы

Одна из проблем, которая выделяется при взгляде на наш пример, заключается в том, что текст начинается прямо с границы элемента. Из-за этого его сложно читать, да и выглядит не очень приятно. К счастью, свойство padding позволяет это исправить:

Вот как это отразится на результате:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

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

Добавляем поля

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

Добавим margin в стили:

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

что такое блочная модель css. . что такое блочная модель css фото. что такое блочная модель css-. картинка что такое блочная модель css. картинка . Рис. 3.1. Свойства, формирующие блочный элемент

Поля частично применимы к строчным элементам, но только к боковым сторонам.

Немного о размерах элементов

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

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

что такое блочная модель css. csss box model revised. что такое блочная модель css фото. что такое блочная модель css-csss box model revised. картинка что такое блочная модель css. картинка csss box model revised. Рис. 3.1. Свойства, формирующие блочный элемент

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

Подводим итог

Вот вы и изучили основы блочной модели CSS. Эти знания помогут вам лучше понять, как работают сайты. С блочной моделью проще изменить внешний вид страницы и её структуру как душе угодно.

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

Источник

Блочная модель

Время чтения: меньше 5 мин

Обновлено 24 ноября 2021

«Всё — прямоугольник»

Каждый элемент на веб-странице — это прямоугольник, к которому во время отрисовки браузеры применяют CSS-свойства. Чтобы конечные размеры элементов не были для вас сюрпризом и вы точно понимали, из чего они складываются, нужно разобраться с одной из основных концепций вёрстки — блочной моделью.

Блочная модель

Блочная модель, она же box model — это алгоритм расчёта размеров каждого отдельного элемента на странице, которым браузеры пользуются при отрисовке. Чтобы точно понимать, каким в итоге получится блок и сколько места он займёт, держите в голове следующую картинку:

что такое блочная модель css. box model 300w. что такое блочная модель css фото. что такое блочная модель css-box model 300w. картинка что такое блочная модель css. картинка box model 300w. Рис. 3.1. Свойства, формирующие блочный элемент

Ровно такую же схему, но в других цветах можно увидеть в инструментах разработчика любого из браузеров. Например, так выглядит блочная модель элемента в Chrome:

что такое блочная модель css. box model chrome 300w. что такое блочная модель css фото. что такое блочная модель css-box model chrome 300w. картинка что такое блочная модель css. картинка box model chrome 300w. Рис. 3.1. Свойства, формирующие блочный элемент

Блочная модель состоит из нескольких CSS-свойств, влияющих на размеры элемента:

Ширина и высота

При помощи свойств width и height можно задавать размеры контентной области блока.

Контентной областью называется условное внутреннее пространство блока, где располагается контент. В примере ниже мы создаём блок при помощи тега

По умолчанию элементы с блочным отображением ( display: block ) занимают всю ширину родителя, если явно не задано другое. А вот высота элемента подстраивается под контент.

Элементы со строчным ( display: inline ) или строчно-блочным ( display: inline-block ) отображениями по умолчанию подстраивают и ширину, и высоту под вложенный контент. Однако строчно-блочному можно и произвольно задать размеры: ширину ( width ) и высоту ( height ).

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

Теперь элемент будет размером 200 на 200 пикселей.

padding

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

Добавим к стилям из примера выше внутренние отступы:

Теперь ширина блока будет равна 200 + 15 + 15 = 230 пикселей. А высота будет равна 200 + 25 + 25 = 250 пикселей. Внутренние отступы прибавились к ширине и высоте.

border

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

Теперь конечные размеры элемента будут:

margin

Если элементу из нашего примера мы зададим внешние отступы, то он будет занимать больше места, двигая при этом своих соседей:

box-sizing

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

Источник

Блочная и строчная модель в CSS

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

HTML теги взаимодействует со множеством CSS свойств, которые оказывают на них различные действия и определяют, как они будут отображены браузером. Условно эти свойства можно разделить на видимые для пользователя, например, такие как задний фон, или границы элемента, а другие нельзя определить явно, но они наравне со всеми участвуют в форматировании элементов. К ним, например, относятся такие свойства как внутренние и внешние отступы элемента.

На веб-странице любому HTML элементу соответствует определённая прямоугольная область (блок). Во время рендеринга браузер определяет размеры и положение этих блоков, а также определяет их CSS свойства, чтобы применить их и отобразить на экране.

В CSS создана специальная блочная модель (англ. box model), которая описывает, из чего состоит любой блок и от каких свойств зависят его размеры. В этой модели каждый блок состоит из четырёх областей:

Рис. 74 Блочная модель CSS.

Внутренняя область (content area) – может содержать текст, изображения и другие теги, расположенные внутри содержимого. По умолчанию, размер внутренней области с содержимым задается свойствами width (ширина), min-width (минимальная ширина), max-width (максимальная ширина), height (высота), min-height (минимальная высота) и max-height (максимальная высота). Далее в учебнике мы рассмотрим, как и зачем изменить, применяемую по умолчанию CSS модель, с помощью которой вычисляются ширина и высота элементов.

Внутренние отступы или поля элемента (padding area) – по сути это пустая область, которая окружает внутреннюю область (контент). Размеры внутренних отступов могут задаваться как для всех сторон элемента, так и по отдельности с различных сторон содержимого.

Область рамки или границы элемента (border area) – окружает внутренние отступы элемента (padding area). Ширина, цвет и стиль границы может задаваться как для всех сторон элемента, так и по отдельности для каждой стороны.

Внешние отступы (margin area) – добавляют пустое пространство вокруг элемента и определяют расстояние до соседних элементов. По аналогии с внутренними отступами размеры внешних отступов могут задаваться как для всех сторон элемента, так и по отдельности с различных сторон содержимого.

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

Внешние и внутренние отступы элемента

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

Как вы можете заметить на изображении ниже, свойства padding (внутренние отступы) и margin (внешние отступы) визуально дают один и тот же эффект:

что такое блочная модель css. 75. что такое блочная модель css фото. что такое блочная модель css-75. картинка что такое блочная модель css. картинка 75. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 75 Пример использования внешних и внутренних отступов в CSS.

Но в чем же разница? Давайте рассмотрим пример, в котором зададим отступы чуть больше, добавим границу и задний фон для наших изображений.

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

что такое блочная модель css. 76. что такое блочная модель css фото. что такое блочная модель css-76. картинка что такое блочная модель css. картинка 76. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 76 Отличие внешних и внутренних отступов в CSS.

Для управления внутренними и внешними отступами вы можете использовать любые единицы измерения CSS. Ранее в статье учебника «Единицы измерения CSS, размер шрифта» мы уже с вами рассматривали, какие единицы измерения более предпочтительны к использованию.

В вышерассмотренных примерах мы использовали универсальные свойства, которые задают отступы для всех сторон, мы к ним еще вернемся позднее, а сейчас хотелось бы продемонстрировать Вам, что в CSS допускается задавать отступы по отдельности для каждой из сторон. Для этих целей существует по 4 (четыре) CSS свойства для внутренних и внешних отступов, их легко запомнить, так как достаточно через дефис добавить к «универсальному свойству» название необходимой стороны:

Для внутренних отступов:

Для внешних отступов:

Давайте рассмотрим пример, в котором мы зададим внешний отступ для элемента, используя при этом процентные значения:

Значит, внешний отступ от левого края каждого изображения составит:

Размер изображения высчитывается по аналогии:

что такое блочная модель css. 77. что такое блочная модель css фото. что такое блочная модель css-77. картинка что такое блочная модель css. картинка 77. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 77 Указание внешних отступов в процентах в CSS.

Мы не просто так начали изучение внешних и внутренних отступов, используя универсальные свойства margin и padding. Почему универсальные? Все просто, мы можем быстро установить значения отступов для всех четырех параметров одновременно в одном объявлении, при этом значения мы можем указывать совершенно разные, главное при этом соблюдать определённый порядок. Зачастую удобнее указать все свойства в одном объявлении, чем использовать для каждой стороны по отдельности свое свойство.

Давайте рассмотрим на примере указания значений для внутренних отступов:

Обращаю Ваше внимание, что если вам необходимо задать для какой-либо стороны нулевое значение, то единицы измерения при этом указывать не нужно. Например, укажем 1em для внутреннего отступа с левой и правой стороны, а для верха и низа зададим 0 (отсутствие отступа):

Как вы можете догадаться, для внешних отступов (margin) синтаксис аналогичен внутренним отступам (padding), давайте сразу рассмотрим на следующем примере:

Обращаю Ваше внимание, что допускается использовать отрицательные значения для внешних отступов (margin). Для внутренних отступов (padding) отрицательные значения использовать не допускается.

Результат нашего примера:

что такое блочная модель css. 78. что такое блочная модель css фото. что такое блочная модель css-78. картинка что такое блочная модель css. картинка 78. Рис. 3.1. Свойства, формирующие блочный элемент Рис.78 Пример указания внешних отступов для элемента.

Нюансы работы с внешними отступами в CSS

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

) один под другим и задали им наши классы.

что такое блочная модель css. 79. что такое блочная модель css фото. что такое блочная модель css-79. картинка что такое блочная модель css. картинка 79. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 79 Пример указания внешних отступов (нюансы применения).

Чтобы обойти такие конфликты, можно было использовать для одного из абзацев не внешние, а внутренние отступы (CSS свойство padding).

Строчные (линейные) элементы

Мы с Вами разобрали, что все браузеры обрабатывают элементы на веб-странице подобно блочному элементу, на самом деле не все так однозначно.

В CSS существует два типа элементов:

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

Что касается строчных (inline) элементов, то они не создают разрывов строк перед элементами и после них, а отображаются в одной строке с содержимым. Например, вы форматируете слово из предложения элементом (определяет жирное начертание текста), то это слово по-прежнему будет располагаться на одной строке с текстом, который, заключен в блочный элемент

Но как вы понимаете, у этих типов элементов существуют и другие отличия. К обоим элементам можно применять цветовые и фоновые параметры, шрифты и границы, а вот внешние и внутренние отступы строчных элементов браузеры обрабатывают уже по-другому.

Давайте рассмотрим пример:

Результат нашего примера:

что такое блочная модель css. 80. что такое блочная модель css фото. что такое блочная модель css-80. картинка что такое блочная модель css. картинка 80. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 80 Пример указания внешних и внутренних отступов для строчных элементов.

Но как говорится на каждую хитрую строку найдется свой display : inline-block :

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

Результат нашего примера:

что такое блочная модель css. 81. что такое блочная модель css фото. что такое блочная модель css-81. картинка что такое блочная модель css. картинка 81. Рис. 3.1. Свойства, формирующие блочный элемент Рис. 81 Пример указания внешних и внутренних отступов для блочно-строчных элементов.

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

Чтобы установить, что элемент будет восприниматься браузером как строчный, то необходимо использовать следующее объявление:

Для того чтобы установить, что элемент будет восприниматься браузером как блочный, то необходимо использовать следующее объявление:

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

Вопросы и задачи по теме

Перед тем как перейти к изучению следующей темы пройдите практические задания:

что такое блочная модель css. practice 20. что такое блочная модель css фото. что такое блочная модель css-practice 20. картинка что такое блочная модель css. картинка practice 20. Рис. 3.1. Свойства, формирующие блочный элемент Практическое задание № 20.

Подсказка: чтобы сформировать подобное меню Вам необходимо воспользоваться маркированным списком. Подробную информацию о использовании маркированных списков Вы сможете найти в предыдущей статье учебника «Работа со списками в CSS». Подумайте, что необходимо сделать, чтобы Вы смогли указать для гиперссылок внутренние отступы, и не забудьте указать, что при наведении на них цвет заднего фона меняется на orangered.

Продвинутое задание (создание горизонтального меню навигации):

что такое блочная модель css. practice 21. что такое блочная модель css фото. что такое блочная модель css-practice 21. картинка что такое блочная модель css. картинка practice 21. Рис. 3.1. Свойства, формирующие блочный элемент Практическое задание № 21.

Подсказка: подумайте, что необходимо сделать с элементами маркированного списка, чтобы они выстроились в линейку?

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *