padding-bottom в CSS


Содержание

CSS :: Свойство padding-bottom

css -свойство padding-bottom (от англ. bottom padding – отбивка снизу) используется для установки внутреннего отступа (отбивки) внизу элемента.

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

Рис №1. Общая схема элемента

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

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

padding-bottom

Свойство CSS padding-bottom используется для указания размера нижнего внутреннего отступа элемента, который находится между нижней границей его рамки (CSS border-bottom) и содержимым. В отличие от нижнего внешнего поля (CSS margin-bottom), цвет отступа всегда такой же, как фон элемента.

Расположение нижнего внутреннего отступа элемента — padding-bottom.

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

Тип свойства

Применяется: ко всем элементам, кроме тегов , , , , , и элементов с display равным table-column, table-column-group, table-header-group, table-footer-group, table-row-group, table-row.

Если к тегу будет примененно свойство CSS border-collapse:collapse, то padding-bottom будет проигнорирован.

Значения

Значением свойства CSS padding-bottom является указание размеров нижнего отступа одним из следующих способов.

  • Размер — расстояние в относительных или абсолютных единицах измерения принятых в CSS, например: пиксели (px), пункты (pt), сантиметры (cm) и т.д. Отрицательные значения запрещены.
  • Проценты — расстояние в процентах (%), где за 100% берется ширина (именно ширина) элемента-предка по следующему алгоритму:
    1. Для непозиционируемых и относительно позиционируемых элементов (CSS position: static или relative ) расчет нижнего отступа идет относительно ширины ближайшего блочного (block) элемента-предка, встроенного блока (inline-block) или ячейки таблицы, а если таких нет, то ширины тела документа (тег ).
    2. Процентный размер нижнего отступа самого тела документа считается относительно ширины корневого элемента (тег ).
    3. Для элементов с position: fixed отступ считается относительно ширины окна браузера.
    4. Для элементов с position: absolute отступ считается относительно ширины элемента, от которого идет позиционирование, причем с учетом его внутренних отступов, а если такого элемента нет, то относительно ширины окна браузера.

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

  • inherit — наследует значение свойства padding-bottom от родительского элемента.

Процентная запись: относительно ширины элемента-предка или окна браузера.

Значение по умолчанию: 0.

Синтаксис

Пример CSS: использование padding-bottom

Результат. Использование свойства CSS padding-bottom.

Версии CSS

Версия: CSS 1 CSS 2 CSS 2.1 CSS 3
Поддержка: Да Да Да Да

Браузеры

Браузер: Internet Explorer Google Chrome Mozilla Firefox Opera Safari
Версия: 6.0 и 7.0 8.0 и выше 2.0 и выше 2.0 и выше 9.2 и выше 3.1 и выше
Поддержка: Частично Да Да Да Да Да

Internet Explorer 6.0 и 7.0 не понимают значение inherit , а также не поддерживают padding-bottom для тега .

padding-bottom

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

IE Opera Chrome Firefox Safari
IE до 7.0 (включ.) не поддерживает значение inherit + + + +

Пример

Задаем нижнее поле для элемента p:

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

Свойство padding-bottom задает нижнее поле для элемента.

Примечание: негативные значения не разрешены.

padding-bottom

Браузер Internet Explorer Netтscape Опера Safari Mozilla Firefox
Версия 5.5 6.0 7.0 8.0 8.0 9.0 7.0 8.0 9.2 9.5 1.3 2.0 3.1 1.5 2.0 3.0
Поддерживается Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да Да

Краткая информация

CSS (ЦСС) CSS (ЦСС)1
Значение по умолчанию
Наследуется Нет
Применяется Ко всем элементам
Аналог ШТМЛ Нет
Ссылка на спецификацию http://www.w3.org/TR/CSS21/box.ШТМЛ#propdef-padding-bottom

Описание

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

Рис. 1. Поле снизу от контента

Синтаксис

padding-bottom: значение | auto

Аргументы

Величину нижнего поля можно указывать в пикселах (px), процентах (%) или других допустимых для CSS (ЦСС) единицах. Аргумент auto указывает, что размер поля будет автоматически рассчитан браузером.

ШТМЛ 4.01 CSS (ЦСС) 2.1 IE 5.5 IE 6 IE 7 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

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

Рис. 2. Применение параметра padding-bottom


CSS стиль padding-bottom. Установка поля снизу с помощью padding-bottom

Краткая информация по CSS-свойству padding-bottom

Значение по умолчанию
Наследуется Нет
Применяется Ко всем элементам

Правила написания свойства padding-bottom

Величину левого поля можно указывать в пикселях (px), процентах (%), или других допустимых для CSS единицах.

Объектная модель

Пример применения стиля padding-bottom

Проиллюстрируем работу padding-bottom на примере. Нам нужно, чтобы поле снизу было больше, чем с других сторон.

Применение свойства padding-bottom

Вместо того, чтобы писать padding: 5px; , а потом padding-bottom: 90px; нам бы следовало написать padding: 5px 5px 90px; . Так намного короче и показывает более высокий уровень верстки.

CSS Свойство padding-bottom

Пример

Установить нижний отступ для элемента p:

p
<
padding-bottom:2cm;
>

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

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

Свойство padding-bottom устанавливает нижний отступ элемента.

Замечание: Отрицательные значения не допустимы.

Значение по умолчанию:
Наследуется: нет
Версия: CSS1
JavaScript синтаксис: объект.style.paddingBottom=»2cm»

Поддержка Браузерами

Свойство padding-bottom поддерживается всеми основными браузерами.

Замечание: Значение «inherit» не поддерживается в IE7 и более ранних версиях. IE8 требует объявления !DOCTYPE. IE9 поддерживает «inherit».

Свойства PADDING и MARGIN и как их использовать

Сегодня мы поработаем над пониманием разницы между HTML padding ( внутренний отступ ) и margin ( внешний отступ ) в CSS . Но сначала разберемся с их синтаксисом. Существует несколько способов написания этих свойств: обычный и сокращенный:

Padding и Margin в CSS

Обычную форму записи рассматриваемых свойств проще понять, потому что она похожа на все остальные стилевые записи:

С другой стороны, сокращенная запись в CSS объединяет в себе все эти свойства в одно общее свойство « padding «.

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

Эту запись можно сократить запись до трех значений, если левый и правый padding/margin одинаковы. Например, если верхний отступ равен 30px , левый и правый по 10px , а нижний — 40px , то можно использовать следующую форму записи:

Сокращаем до двух значений!

Если верхний и нижний padding/margin одинаковы, а правый и левый padding/margin тоже одинаковы, то можно указывать только два значения. В этом примере у нас есть верхний и нижний отступы, которые равны 10px , а левый и правый отступы — по 20px . Наш CSS будет выглядеть следующим образом:

Только одно значение!

Наша последняя версия сокращенной записи для padding и margin HTML содержит только одно значение. Эту запись можно использовать, когда все отступы ( сверху, снизу, справа и слева ) имеют одно и то же значение. Если бы мы хотели, чтобы все стороны имели отступы по 20px , то CSS выглядел бы следующим образом:

Совет!

Когда какой формат записи использовать? Например, если нужно задать элементу только нижний отступ, я буду использовать обычную запись, так как нужно применить свойство только к одной стороне: padding-bottom: 30px ;

Как работать с PADDING и MARGIN

Между этими двумя свойствами существует ощутимая разница. Padding используется для задания пространства внутри контейнера HTML-элемента . Margin используется для задания пространства вокруг внешней границы элементов.

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

Также можно думать о padding как о наполнителе в картонной коробке. Когда вы наполняете коробку пенопластом, вы удерживайте им содержимое на расстоянии от краев коробки. Padding в CSS делает то же самое.

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

PADDING и MARGIN на примере сайта

Рассмотрим свойства на примерах с элементами. Мы начнем с абзаца ( тега

), затем добавим к нему цвет фона и добавим отступ 30px с каждой стороны.

Ниже слева видно, что это абзац с padding 30px вокруг него. На изображении справа я использовал инструменты Google Chrome , чтобы показать, где padding HTML начинается /заканчивается для этого элемента. Зеленый цвет на изображении ниже – это padding , который расположен вокруг контейнера. Темно-синий цвет фона заполняет внутреннюю область:

Теперь добавим margin абзацу. Я добавлю отступ сверху и снизу 30px , а также 20px слева и справа. Ниже на изображении слева показано, как этот абзац изменился с margin . Фактическая ширина изображения стала меньше, потому что margin отталкивает от границ другой HTML элемент . Справа видно, что оранжевый цвет – это margin вокруг элемента. margin всегда находится за пределами padding и темно-синий фон не распространяется на область margin :

Если вы до сих пор путаетесь, как использовать padding и margin HTML , то пришло время экспериментировать! Чем больше вы будете использовать свойства CSS , и изменять их значения, тем лучше поймете, как они работают.

Данная публикация представляет собой перевод статьи « CSS PADDING VS. MARGIN AND HOW TO USE THEM » , подготовленной дружной командой проекта Интернет-технологии.ру

CSS padding-bottom not working

I’m currently trying to add some simple padding to the bottom of my testimonial element, so that it doesn’t end right after the text.

It seems that no matter what value I enter in padding or padding-bottom, the bottom padding expands a set amount. I’m wondering how to fix this so it displays padding that is specific to the value I set.


5 Answers 5

How padding shorthand works.

default declaration of padding looks like this:

You can abbreviate that and apply padding to all sides equally:

You can abbreviate a little less and apply different values to top and bottom, and right and left.

This equates to padding: top/bottom right/left;

You can use full abbreviations to apply different values to each of the 4 sides independently:

This equates to padding: top right bottom left; or:

In your CSS you have no top or bottom padding applied to the testimonial class, you only have right/left padding applied:

You basically have (pseudo code as example):

If you want a the same padding all the way around, remove the first 0 in the property:

If you want a similar top/bottom padding, then merely adjust the padding property to add top/bottom values:

If you want different padding on the top and bottom, then adjust the padding property to add all the values:

Организация отступов в верстке (margin/padding)

Цель этой статьи не усложнить простые вещи, а акцентировать внимание на известных стандартах, о которых почему-то забывают. Важно соблюдать осмысленную структуру во всех аспектах верстки, и не менее важно придерживаться ее в отступах. И одним из основных принципов верстки является гибкость. А именно, возможность легко вносить какие-либо изменения и ничего при этом не сломать. Правильное обращение с margin и padding играет очень большую роль в этом деле.

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

Основные принципы:

  1. Отступы идут от предыдущего элемента к следующему.
  2. Отступ задается последнему возможному элементу в доме.
  3. Отступы нельзя задавать для независимых элементов ( БЭМ блок ).
  4. У последнего элемента группы, отступ обнуляется (всегда).

Отступы идут от предыдущего элемента к следующему.

margin(ы) задаются от предыдущего элемента к следующему, от первого ко второму, сверху вниз, слева направо.

Это значит.что такие свойства как margin-left и margin-top не используются (не без исключений). С padding все немного наоборот (кроме того, что он используется для, декоративных целей, увеличения области ссылки и т.д.). Когда блоку нужен отступ сверху или слева, он его получает за счет padding-top и padding-left родителя.

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

Отступ задается последнему возможному элементу в доме

margin(ы) задаюся только между соседними элементами дом дерева.

В примере 3 списка, в следующей структуре:

Не за счет дочерних элементов, а за счет соседних делается отступ.

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

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

Если взять пример с заголовком, и нужно сделать отступ для заголовка сверху. то последний элементом будет section и для него задается padding-top, margin(ы) которые стоят по дефолту всегда нужно обнулять.

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

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

Отступы нельзя задавать для независимых элементов ( БЭМ блок )

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

Если нужно сделать блоку отступ. Без ущерба это делается с помощью:

  • Наследование через элемент (если вытащить этот блок с элемента, отступа не будет, и его можно будет просто разместить в другом месте).
  • Добавление класса (можно сделать блок элементом).
  • Обертка (как блок, у которого роль, только в позиционировании).

У последнего элемента группы, отступ обнуляется (всегда)

Возьмем для примера список и изображение.

Это горизонтальное меню и логотип (который почему-то справа).

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

Для последней li отступ обнуляется. И отступ делается между соседними элементами ul и img . О чем говорилось во втором принципе.

Возьмем другой пример:

Интересует нас отступ между новостями, которые задается .blog-preview__item < margin-bottom: 20px; >. Последний margin обнуляется, а нижний отступ делается за счет padding blog-preview . О чем говорилось во втором принципе.

Чаще чем другие псевдоклассы, надо использовать :last-child.

Исключения

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

  • «Динамические элементы». Когда элемент появляется после какого-то блока, то он появится со своим отступом.

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

    P. S. Советую ознакомиться с публикацией Кастомный подход для нормализации и сброса стилей (custom-reset.css). И советую использовать css линтеры. И кому интересно, может решить css задачку.

    Читают сейчас

    Похожие публикации

    • 8 мая 2012 в 08:35

    Руководство по оформлению HTML/CSS кода от Google

    Игра Survivor (Commodore 64) на html, css и javascript

    DocHub.io — удобный справочник HTML, CSS, Javascript

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Комментарии 44

    Сколько сложностей. Проще же элементам списка дать половинный margin, а контейнеру половинный padding.

    У любой строки текста из-за line-height будет отступ сверху и снизу, который вы никак не уберёте (вариант с line-height=1 как правило не катит ибо не дружит с переносом текста). То есть вам в любом случае придётся учитывать, что у некоторый блоков будут симметричные отступы сверху и снизу. Поэтому лучше сразу всё и делать на симметричных отступах. Это и кода меньше займёт и лучше дружит с переносами блоков на новую строку.

    По поводу отступов между однородными элементами. Самый правильный метод:

    Никаких last-child и прочего. Нужно придерживаться принципа, что стили должны как можно реже отменяться и переопределяться. То есть вместо «задать всем, а потом последнему отменить» нужно действовать по методу «задать сразу тем, кому нужно». Это и сокращение количества стилей (меньше рябит в глазах от каскада в девтулс), и семантически правильнее.

    Отступы идут в направлении потока дом дерева, блок сам себя не толкает.

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

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

    Не чувствуется ли куда ли больший смысл в том что элемент может отталкиваться от чего-нибудь?

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

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

    У элемента отступ от предыдущего 2 или 4 пикселя, в зависимости от того, что это за предыдущий элемент: list__item или list__item—big . И у элемента отступ от предыдущего 10 или 20 пикселей, в случае если этот элемент сам list__item или list__item—big , плюс аналогично все так же есть зависимость от вида предыдущего элемента.
    Получились, так сказать, правила взаимодействий.
    А теперь как реализовать данные отступы, если мы будем задавать нижний отступ и что-нибудь обнулять? Никак. Нижние отступы и обнуления это просто-напросто недостаточный набор инстументов для реализации в данном случае. При этом контекстно зависимые верхние отступы в данном случае более чем достаточный набор инстументов.

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

    CSS: padding-bottom property

    This CSS tutorial explains how to use the CSS property called padding-bottom with syntax and examples.

    Description

    The CSS padding-bottom property defines the padding space on the bottom of an element.

    Syntax

    The syntax for the padding-bottom CSS property is:

    Parameters or Arguments

    The padding space to apply to the bottom of the element. It can be one of the following:

    Value Description
    fixed Fixed value expressed in px, em, .
    div < padding-bottom: 6px; >
    div
    percentage Percentage value
    div
    inherit Element will inherit the padding-bottom from its parent element
    div
    • The value in the CSS padding-bottom property can be expressed as either a fixed value or as a percentage.
    • Negative values are not allowed in the CSS padding-bottom property.
    • When the value is provided as a percentage, it is relative to the width of the containing block.
    • See also padding, padding-top, padding-left, and padding-right.

    Browser Compatibility

    The CSS padding-bottom property has basic support with the following browsers:

    • Chrome
    • Android
    • Firefox (Gecko)
    • Firefox Mobile (Gecko)
    • Internet Explorer (IE)
    • IE Phone
    • Opera
    • Opera Mobile
    • Safari (WebKit)
    • Safari Mobile

    Example

    We will discuss the padding-bottom property below, exploring examples of how to use this property in CSS with a fixed value as well as a percentage value.

    Using Fixed Value

    Let’s look at a CSS padding-bottom example where we have provided the value as a fixed value.

    In this CSS padding-bottom example, we have provided a value of 5px which would apply to the bottom of the element.

    You can also express the padding-bottom property in em’s.

    In this example, we have provided a value of 2em which would apply to the bottom of the element.

    Using Percentage

    Let’s look at a CSS padding-bottom example where we have provided the value as a percentage.

    In this CSS padding-bottom example, we have provided a value of 2% which would apply to the bottom of the element.

    Илон Маск рекомендует:  Как создать сайт Создание сайта от А до Я
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL