Внутренние отступы | CSS | CodeBasics

  • Сокращённое свойство

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

Карточка с белым текстом на фиолетовом фоне

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

Для создания внутренних отступов используется 4 правила:

  • padding-top — внутренний отступ сверху
  • padding-right — внутренний отступ справа
  • padding-bottom — внутренний отступ снизу
  • padding-left — внутренний отступ слева

Каждое свойство принимает числовое значение и единицу измерения, например пиксели

<div>Карточка с белым текстом на фиолетовом фоне</div>
.card {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 20px;
  color: #ffffff;
  background-color: #673ab7;
}

Карточка с белым текстом на фиолетовом фоне

Сокращённое свойство

Если нужно установить отступы по всем сторонам, то используют не 4 разных свойства, а одно — padding. Оно является сокращением от уже известных свойств и позволяет установить:

  • отступ сверху
  • отступ справа
  • отступ снизу
  • отступ слева

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

.card {
  padding: 10px 0 10px 20px;
  color: #ffffff;
  background-color: #673ab7;
}

Помимо такой записи для удобства существуют сокращённые записи этих правил:

  • Если указать только одно значение, то оно будет использовано одновременно для всех сторон
  • Если указать два значения, то первое будет использоваться для отступов по вертикали (сверху и снизу), а второе по горизонтали (справа и слева)
  • Если указать три значения, то они будут использоваться для отступа сверху, по горизонтали и снизу

Задание

Добавьте в редактор параграф с классом padding и установите внутренние отступы:

  • 10 пикселей сверху
  • 15 пикселей снизу
  • 20 пикселей слева и справа

Используйте следующий текст для параграфа:

Что делает верстальщик? Создаёт страницы с помощью HTML и CSS.

Умеет пользоваться возможностями модулей Flex и Grid. Использует препроцессор SASS, шаблонизатор Pug и собирает проекты с помощью Gulp. Следит за доступностью сайта, создавая семантически правильную разметку. Создаёт компоненты и утилиты на Bootstrap. Верстает адаптивные проекты

Сам текст не имеет значения и не проверяется. Основная цель — добавить текст, который будет расположен в несколько строк. Это поможет корректно увидеть левые и правые отступы.

Добавьте черный фон к параграфу и белый цвет текста. Попробуйте различные значения свойства padding для того, чтобы увидеть как это влияет на блок.

Стили запишите в теге <style>

Упражнение не проходит проверку — что делать? 😶

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

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

Мой код отличается от решения учителя 🤔

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

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

Прочитал урок — ничего не понятно 🙄

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

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

←Предыдущий

Следующий→

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

margin — CSS | MDN

CSS свойство margin определяет внешний отступ на всех четырёх сторонах элемента. Это сокращение, которое устанавливает все отдельные поля одновременно:

margin-top, margin-right, margin-bottom и margin-left.

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

  • margin-top
  • margin-right
  • margin-bottom
  • margin-left
/* Применяется ко всем четырём сторонам */
margin: 1em;
margin: -3px;
/* по вертикали | по горизонтали */
margin: 5% auto;
/* сверху | горизонтально | снизу */
margin: 1em auto 2em;
/* сверху | справа | снизу | слева */
margin: 2px 1em 0 auto;
/* Глобальные значения */
margin: inherit;
margin: initial;
margin: unset;

Свойство margin может быть задано с использованием одного, двух, трёх или четырёх значений. Каждое значение имеет тип <length>, <percentage> или является ключевым словом auto. Каждое значение может быть положительным, отрицательным или равным нулю.

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

Значения

length

Размер отступа как фиксированное значение.

percentage

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

auto

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

Начальное значениекак и у каждого из подсвойств этого свойства:
  • margin-bottom: 0
  • margin-left
    : 0
  • margin-right: 0
  • margin-top: 0
Применяется квсе элементы, кроме элементов с табличным типом display, отличным от table-caption, table и inline-table. Это также применяется к ::first-letter и ::first-line.
Наследуетсянет
Процентыссылается на ширину содержащего блока
Обработка значения
как и у каждого из подсвойств этого свойства:
  • margin-bottom: процент, как указан, или абсолютная длина
  • margin-left: процент, как указан, или абсолютная длина
  • margin-right: процент, как указан, или абсолютная длина
  • margin-top: процент, как указан, или абсолютная длина
Animation typeдлина
margin = 
<'margin-top'>{1,4} (en-US)

Простой пример

HTML
<div>Этот элемент отцентрирован.</div>
<div>Этот элемент расположен за пределами своего контейнера.</div>
CSS
.
center { margin: auto; background: lime; width: 66%; } .outside { margin: 3rem 0 0 -3rem; background: cyan; width: 66%; }

Больше примеров

margin: 5%;                 /* все стороны:  отступ 5% */
margin: 10px;               /* все стороны:  отступ 10px */
margin: 1.6em 20px;         /* верх и низ:   отступ 1.6em */
                            /* право и лево: отступ 20px */
margin: 10px 3% 1em;        /* верх:         отступ 10px */
                            /* право и лево: отступ 3% */
                            /* низ:          отступ 1em */
margin: 10px 3px 30px 5px;  /* верх:   отступ 10px */
                            /* право:  отступ 3px */
                            /* низ:    отступ 30px */
                            /* лево:   отступ 5px */
margin: 2em auto;           /* верх и низ: отступ 2em */
                            /* блок отцентрирован горизонтально */
margin: auto;               /* верх и низ: отступ 0 */
                            /* блок отцентрирован горизонтально */

Горизонтальное выравнивание

Чтобы центрировать что-то горизонтально в современных браузерах, вы можете использовать display: flex; justify-content: center; .

Однако в старых браузерах, таких как IE8-9, которые не поддерживают технологию Flexible Box, они недоступны. Чтобы центрировать элемент внутри своего родителя, используйте margin: 0 auto; .

Схлопывание отступов

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

Specification
CSS Box Model Module Level 3
# margin

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

  • Введение в базовую блочную модель CSS
  • Схлопывание отступов
  • margin-top, margin-right, margin-bottom и margin-left
  • Логические свойства: margin-block-start (en-US), margin-block-end (en-US), margin-inline-start и margin-inline-end. А так же сокращенные варианты: margin-block (en-US) и margin-inline (en-US)

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

Want to get more involved?

Learn how to contribute.

This page was last modified on by MDN contributors.

CSS Margin

❮ Предыдущий Далее ❯


Поля используются для создания пространства вокруг элементов за пределами любых определенных границ.


Этот элемент имеет поле 70 пикселей.

Попробуйте сами »


Поля CSS

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

С CSS у вас есть полный контроль над полями. Есть свойства для установки полей для каждой стороны элемента (сверху, справа, снизу и слева).


Поля — отдельные стороны

В CSS есть свойства для указания полей для каждой сторона элемента:

  • margin-top
  • поле справа
  • нижняя граница
  • поле слева

Все свойства маржи могут иметь следующие значения:

  • auto — браузер вычисляет маржу
  • длина - указывает поля в px, pt, cm и т.д.
  • % — указывает отступ в % от ширины содержащего элемента
  • inherit — указывает, что поле должно быть унаследовано от родительского элемента

Совет: Допускаются отрицательные значения.

Пример

Установите разные поля для всех четырех сторон элемента

:

p {
  margin-top: 100px;
  нижнее поле: 100 пикселей;
  правое поле: 150 пикселей;
  левое поле: 80 пикселей;
}

Попробуйте сами »



Поля - Сокращенное свойство

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

Свойство margin является сокращенным свойством для следующих отдельных свойств margin:

  • margin-top
  • поле справа
  • нижняя граница
  • поле слева

Итак, вот как это работает:

Если свойство margin имеет четыре значения:

  • margin: 25px 50px 75px 100px;
    • верхнее поле 25px
    • правое поле 50px
    • нижнее поле 75px
    • левое поле 100px

Пример

Используйте сокращенное свойство margin с четырьмя значениями:

p {
  margin: 25px 50px 75px 100px;
}

Попробуйте сами »

Если маржа 9Свойство 0017 имеет три значения:

  • margin: 25px 50px 75px;
    • верхнее поле 25px
    • правое и левое поля составляют 50 пикселей
    • нижнее поле 75px

Пример

Используйте сокращенное свойство margin с тремя значениями: 

p {
поля: 25px 50px 75px;
}

Попробуйте сами »

Если свойство margin имеет два значения:

  • margin: 25px 50px;
    • верхнее и нижнее поля 25px
    • правое и левое поля составляют 50 пикселей

Пример

Используйте сокращенное свойство margin с двумя значениями: 

p {
поля: 25px 50px;
}

Попробуйте сами »

Если свойство margin имеет одно значение:

  • margin: 25px;
    • все четыре поля 25px

Пример

Используйте сокращенное свойство margin с одним значением: 

p {
  поле: 25 пикселей;
}

Попробуйте сами »


Значение auto

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

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

Пример

Использовать поле: авто:

div {
  ширина: 300 пикселей;
  поля: авто;
граница: 1px сплошной красный;
}

Попробуйте сами »


Значение наследования

В этом примере левое поле элемента

наследуется от родительского элемента (

):

Пример

Использование унаследованного значения:

div {
  граница: 1 пиксель сплошной красный;
  левое поле: 100 пикселей;
}

p.ex1 {
  левое поле: наследовать;
}

Попробуйте сами »


Все свойства поля CSS

Собственность Описание
поля Сокращенное свойство для установки всех свойств поля в одном объявлении
нижнее поле Устанавливает нижнее поле элемента
поле слева Устанавливает левое поле элемента
поле справа Задает правое поле элемента
верхнее поле Устанавливает верхнее поле элемента

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3. CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery

900 Справочные материалы

01 Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Top1 Examples Примеры HTML

Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM | О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

Свернуть поле CSS

❮ Предыдущий Далее ❯


Иногда два поля сливаются в одно.


Свертывание полей

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

Этого не происходит на левом и правом полях! Только верхнее и нижнее поля!

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

Пример

Демонстрация обрушения полей:

h2 {
  margin: 0 0 50px 0;
}

h3 {
  margin: 20px 0 0 0;
}

Попробуйте сами »

В приведенном выше примере элемент

имеет нижнее поле 50px и

Элемент имеет верхнее поле, установленное на 20px.

Здравый смысл подсказывает, что вертикальное поле между

и

будет в общей сложности 70px (50px + 20px).

Но из-за коллапса маржи, фактическое поле в конечном итоге составляет 50 пикселей.


Проверьте себя с помощью упражнений

Упражнение:

Добавьте левое поле в 20 пикселей к элементу

.

<стиль>
ч2 {
  : 20 пикселей;
}

<тело>
   

Это заголовок

Это абзац

Это абзац

Начать упражнение


Все свойства полей CSS

Свойство Описание
поля Сокращенное свойство для установки всех свойств поля в одном объявлении
нижнее поле Устанавливает нижнее поле элемента
поле слева Устанавливает левое поле элемента
поле справа Задает правое поле элемента
верхнее поле Устанавливает верхнее поле элемента

❮ Предыдущий Следующий ❯


ВЫБОР ЦВЕТА



Лучшие учебники
Учебник по HTML
Учебник по CSS
Учебник по JavaScript
Учебник How To
Учебник по SQL
Учебник по Python
Учебник по W3. CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

900 Справочник Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Лучшие примеры
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


ФОРУМ | О

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