В чем разница между полем и отступом в CSS? Это действительно, кажется, не имеет большого значения. Не могли бы вы привести пример того, где лежат различия (и почему важно знать разницу)?
Также имейте в виду, что Internet Explorer суммирует ширину полей / границ / отступов по-другому (в режиме по умолчанию, не в стиле), чем почти во всех других браузерах.
Дэвид Р. Триббл
1
Если поле не работает, попробуйте заполнение
JoelFan
Ответы:
410
paddingпространство между содержимым и border, тогда marginкак пространство вне границы. Вот изображение, которое я нашел из быстрого поиска в Google, которое иллюстрирует эту идею.
Как это связано с настройками ширины и высоты содержимого? Где это измерено на всем этом?
Nyerguds
128
Одна ключевая вещь, которая отсутствует в ответах здесь:
Верхние / нижние поля являются складными.
Таким образом, если у вас есть поле размером 20px внизу элемента и поле 30px вверху следующего элемента, поле между двумя элементами будет 30px, а не 50px. Это не относится к левому / правому краю или отступам.
Обратите внимание, что существуют очень специфические обстоятельства, при которых вертикальные поля сжимаются, а не только два вертикальных поля. Что только делает это еще более запутанным (если вы не очень хорошо знакомы с блочной моделью).
BoltClock
76
Маржа применяется к внешней стороне вашего элемента, следовательно, влияет на то, как далеко ваш элемент находится от других элементов.
Заполнение применяется к внутренней части вашего элемента, следовательно, влияет на то, как далеко содержимое вашего элемента находится за пределами границы.
Кроме того, использование поля не повлияет на размеры вашего элемента, в то время как отступы сделают размеры ваших элементов (задайте высоту + отступы), поэтому, например, если у вас есть div 100x100px с отступом 5px, ваш div будет фактически 105x105px
Я считаю, что отступы применяются к каждой стороне, поэтому элемент будет 110x110px
2013Asker
Гм, afaik padding не меняет ширину вашего элемента, если для этой ширины было установлено что-то кроме auto. Если ширина равна auto, то дополнительное заполнение соответственно увеличит ширину добавляемого элемента (и с обеих сторон, как упомянуто @ 2013Asker)
Flater
1
Я думаю, что немного ошибочно утверждать, что ваш div будет 110px на 110px, потому что ширина вашего div будет по-прежнему 100px (при условии, что box-sizing установлен как content-box).
wmock
44
Запомните эти 3 пункта:
Маржа - это дополнительное пространство вокруг элемента управления.
Padding - это дополнительное пространство внутри элемента управления.
Заполнение внешнего контроля - это Маржа внутреннего контроля .
Демо-изображение: (где красная коробка - это контроль над желанием)
Самое простое определение: padding - это пространство внутри границы элемента контейнера, а поле - снаружи. Для элемента, который не является контейнером, заполнение может не иметь особого смысла, но margin определенно поможет его упорядочить.
Padding - это свойство CSS, которое определяет пространство между содержимым элемента и его границей (если у него есть граница). Если у элемента есть граница вокруг него, заполнение даст пространство от этой границы до содержимого элемента, которое появляется на этой границе. Если элемент не имеет границы вокруг него, то добавление отступа не влияет на этот элемент вообще, потому что нет границы, от которой должно быть место.
Прибыль
Margin - это свойство CSS, которое определяет пространство снаружи элемента до его следующего внешнего элемента.
Поля влияют на элементы, которые имеют или не имеют границ. Если элемент имеет границу, margin определяет пространство от этой границы до следующего внешнего элемента. Если элемент не имеет границы, то margin определяет пространство от содержимого элемента до следующего внешнего элемента.
Разница между отступами и маржой
Таким образом, разница между полем и отступом заключается в том, что, хотя отступ имеет дело с внутренним пространством, запас имеет дело с внешним пространством до следующего внешнего элемента.
Одно из ключевых различий между полем и отступом не упоминается ни в одном из ответов: кликабельность и определение при наведении
Увеличение отступа увеличивает эффективный размер элемента. Иногда у меня есть маленькая иконка, которую я не хочу делать заметно больше, но пользователю все равно нужно взаимодействовать с этой иконкой. Я увеличиваю отступ значка, чтобы увеличить его размер для щелчков и наведения. Увеличение поля значка не будет иметь тот же эффект.
Большинство главных ответов относятся к заполнению, находящемуся «внутри» элемента, и к полям, находящимся «вне» его, что уже подразумевает заполнение, способствующее увеличению области щелчка. Это не так очевидно, когда вы имеете дело с полностью прозрачной коробкой, хотя ...
BoltClock
9
margin = пространство вокруг (снаружи) элемента от границы наружу.
padding = пространство вокруг (внутри) элемента от текста до границы.
Полезно знать о различиях между marginи padding. Как я знаю:
Margin - это внешнее пространство элемента, а padding - это внутреннее пространство элемента. Другими словами, margin - это пространство за пределами границы элемента, а padding - это пространство внутри его границы.
Вы можете установить autoзначение для маржи. Тем не менее, это не допускается для заполнения. Смотрите это .
Примечание. Используйте margin: autoдля центрирования элемента блока внутри его родительского элемента по горизонтали. Кроме того, можно центрировать элемент внутри flexbox по вертикали, по горизонтали или по обоим, установив для поля значение auto. Смотрите это .
Поля могут быть любым числом с плавающей точкой, но отступ не должен быть отрицательным.
Когда вы стилизуете элемент, стиль также будет стилизован; но не маржа. Маржа получает стиль родительского элемента. Например, если вы установите background-colorсвойство черным, его внутреннее пространство (т.е. заполнение) будет черным, но не его внешнее пространство (то есть поле).
Маржа - это пространство вне коробки; отступ - это пространство внутри коробки. Трудно увидеть разницу с белой заливкой, но с цветной заливкой вы можете видеть это прекрасно.
Поля и отступы на самом деле являются типами заполнения. Один (поле) выходит за границу элементов, чтобы отделить его от других элементов, а другой (отступ) выходит за пределы содержимого элементов, чтобы отделить содержимое от границы элементов.
Заполнение позволяет разработчику поддерживать пространство между текстом и включающим его элементом. Margin - это пространство, которое элемент поддерживает с другим элементом родительского DOM.
Смотрите пример:
<head><metahttp-equiv="Content-Type"content="text/html; charset=UT-8"><title>Pseudo Elements</title><styletype="text/css">
body{font-family:Arial;font-size:16px;background-color:#f8e6ae;color:#888;}.page
{background-color:#fff;padding:10px30px50px50px;margin:30px100px30px300px;}</style></head><body><divclass="page">
Notice the distance between the top and this text. Then compare it with the distance between the bottom border and the this text.
</div></body>
Margin - это свойство в CSS, которое используется для создания пробелов вокруг элементов вне границы. Программист может установить поля сверху, справа, снизу и слева. Другими словами, он может установить эти значения, используя margin-top, margin-right, margin-bottom и margin-left.
Значения Margin могут быть следующих типов.
Во-первых, авто позволяет браузеру рассчитать маржу. Кроме того, длина обозначает поле в пикселях, пикселях или сантиметрах, а% помогает описать поле в процентах относительно ширины содержащего элемента. Наконец, наследование означает, что поле должно наследоваться от родительского элемента.
Padding - это свойство в CSS, которое помогает создать пространство вокруг элемента внутри границы. Программист может установить отступы сверху, справа, снизу и слева. Другими словами, он может установить эти значения, используя padding-top, padding-right, padding-bottom и padding-left.
Значения заполнения могут быть следующих типов.
Длина описывает заполнение в px, pt или cm, в то время как% обозначает заполнение в процентах относительно ширины содержащего элемента. Наконец, наследование описывает, что отступы должны наследоваться от родительского элемента.
Margin - это свойство CSS, которое используется для создания пространства вокруг элемента за пределами определенной границы, а отступ - это свойство CSS, которое используется для создания пространства вокруг элемента внутри определенной границы. Таким образом, это объясняет основное различие между полем и отступом.
Значения
Кроме того, значения поля могут быть автоматически, длина,% или наследовать, в то время как значения заполнения могут быть длина,% или наследовать тип. Следовательно, это еще одно различие между полем и отступом.
Вкратце, margin и padding - это два свойства в CSS, которые позволяют стилизовать веб-страницы. Невозможно назначить отрицательные значения для этих свойств. Основное различие между полем и отступом заключается в том, что поле помогает создать пространство вокруг элемента вне границы, тогда как заполнение помогает создать пространство вокруг элемента внутри границы.
Попробуйте поместить цвет фона на блок div с шириной и высотой. Вы увидите, что заполнение увеличивает размер элемента, тогда как margin просто перемещает его в потоке документа.
Margin - находится снаружи элемента, т.е. применяется сдвиг пробела «после» начала элемента. Padding - находится внутри, другой применяет пробел "до" начала элемента.
Маржа применяется к внешнему элементу, что влияет на то, насколько далеко ваш элемент находится от других элементов.
Заполнение применяется к внутренней части вашего элемента, следовательно, влияет на то, как далеко содержимое вашего элемента находится за пределами границы.
Кроме того, использование поля не повлияет на размеры вашего элемента, в то время как отступы сделают размеры ваших элементов (задайте высоту + отступы), поэтому, например, если у вас есть div 100x100px с отступом 5 px, ваш div будет фактически 105x105px
Вы заметили, что этот ответ уже был дан? - и с добавленным и соответствующим акцентом?
JerryOL
-1
По сути, разница между отступом и полем определяется фоном. Заполнение будет определять пространство между содержимым, а отступы - внешним краем элементов!
Одна вещь, которую я только заметил, но ни один из вышеупомянутых ответов не упомянут. Если у меня есть динамически созданный элемент DOM, который инициализируется с пустым внутренним html-содержимым, хорошей практикой будет использование margin вместо padding, если вы не хотите, чтобы этот пустой элемент занимал какое-либо место, кроме того, что создается его содержимое.
padding vs margin
. Я думаю, что мы должны добавить стрелки в строку поиска и сделать зеленый.Ответы:
padding
пространство между содержимым иborder
, тогдаmargin
как пространство вне границы. Вот изображение, которое я нашел из быстрого поиска в Google, которое иллюстрирует эту идею.источник
Одна ключевая вещь, которая отсутствует в ответах здесь:
Верхние / нижние поля являются складными.
Таким образом, если у вас есть поле размером 20px внизу элемента и поле 30px вверху следующего элемента, поле между двумя элементами будет 30px, а не 50px. Это не относится к левому / правому краю или отступам.
источник
Маржа применяется к внешней стороне вашего элемента, следовательно, влияет на то, как далеко ваш элемент находится от других элементов.
Заполнение применяется к внутренней части вашего элемента, следовательно, влияет на то, как далеко содержимое вашего элемента находится за пределами границы.
Кроме того, использование поля не повлияет на размеры вашего элемента, в то время как отступы сделают размеры ваших элементов (задайте высоту + отступы), поэтому, например, если у вас есть div 100x100px с отступом 5px, ваш div будет фактически 105x105px
источник
auto
. Если ширина равнаauto
, то дополнительное заполнение соответственно увеличит ширину добавляемого элемента (и с обеих сторон, как упомянуто @ 2013Asker)Запомните эти 3 пункта:
Демо-изображение: (где красная коробка - это контроль над желанием)
источник
Самое простое определение: padding - это пространство внутри границы элемента контейнера, а поле - снаружи. Для элемента, который не является контейнером, заполнение может не иметь особого смысла, но margin определенно поможет его упорядочить.
источник
Заполнение - это пространство внутри границы, тогда как Margin - это пространство вне границы.
источник
набивка
Padding - это свойство CSS, которое определяет пространство между содержимым элемента и его границей (если у него есть граница). Если у элемента есть граница вокруг него, заполнение даст пространство от этой границы до содержимого элемента, которое появляется на этой границе. Если элемент не имеет границы вокруг него, то добавление отступа не влияет на этот элемент вообще, потому что нет границы, от которой должно быть место.
Прибыль
Margin - это свойство CSS, которое определяет пространство снаружи элемента до его следующего внешнего элемента.
Поля влияют на элементы, которые имеют или не имеют границ. Если элемент имеет границу, margin определяет пространство от этой границы до следующего внешнего элемента. Если элемент не имеет границы, то margin определяет пространство от содержимого элемента до следующего внешнего элемента.
Разница между отступами и маржой
Таким образом, разница между полем и отступом заключается в том, что, хотя отступ имеет дело с внутренним пространством, запас имеет дело с внешним пространством до следующего внешнего элемента.
источник
Одно из ключевых различий между полем и отступом не упоминается ни в одном из ответов: кликабельность и определение при наведении
Увеличение отступа увеличивает эффективный размер элемента. Иногда у меня есть маленькая иконка, которую я не хочу делать заметно больше, но пользователю все равно нужно взаимодействовать с этой иконкой. Я увеличиваю отступ значка, чтобы увеличить его размер для щелчков и наведения. Увеличение поля значка не будет иметь тот же эффект.
Ответ на другой вопрос по этой теме дает пример.
источник
margin = пространство вокруг (снаружи) элемента от границы наружу.
padding = пространство вокруг (внутри) элемента от текста до границы.
смотрите здесь: http://jsfiddle.net/robx/GaMpq/
источник
Полезно знать о различиях между
margin
иpadding
. Как я знаю:auto
значение для маржи. Тем не менее, это не допускается для заполнения. Смотрите это .Примечание. Используйте
margin: auto
для центрирования элемента блока внутри его родительского элемента по горизонтали. Кроме того, можно центрировать элемент внутри flexbox по вертикали, по горизонтали или по обоим, установив для поля значение auto. Смотрите это .background-color
свойство черным, его внутреннее пространство (т.е. заполнение) будет черным, но не его внешнее пространство (то есть поле).источник
Маржа - это пространство вне коробки; отступ - это пространство внутри коробки. Трудно увидеть разницу с белой заливкой, но с цветной заливкой вы можете видеть это прекрасно.
источник
Поля и отступы на самом деле являются типами заполнения. Один (поле) выходит за границу элементов, чтобы отделить его от других элементов, а другой (отступ) выходит за пределы содержимого элементов, чтобы отделить содержимое от границы элементов.
источник
Заполнение позволяет разработчику поддерживать пространство между текстом и включающим его элементом. Margin - это пространство, которое элемент поддерживает с другим элементом родительского DOM.
Смотрите пример:
источник
Margin - это свойство в CSS, которое используется для создания пробелов вокруг элементов вне границы. Программист может установить поля сверху, справа, снизу и слева. Другими словами, он может установить эти значения, используя margin-top, margin-right, margin-bottom и margin-left.
Значения Margin могут быть следующих типов.
Во-первых, авто позволяет браузеру рассчитать маржу. Кроме того, длина обозначает поле в пикселях, пикселях или сантиметрах, а% помогает описать поле в процентах относительно ширины содержащего элемента. Наконец, наследование означает, что поле должно наследоваться от родительского элемента.
Padding - это свойство в CSS, которое помогает создать пространство вокруг элемента внутри границы. Программист может установить отступы сверху, справа, снизу и слева. Другими словами, он может установить эти значения, используя padding-top, padding-right, padding-bottom и padding-left.
Значения заполнения могут быть следующих типов.
Длина описывает заполнение в px, pt или cm, в то время как% обозначает заполнение в процентах относительно ширины содержащего элемента. Наконец, наследование описывает, что отступы должны наследоваться от родительского элемента.
Разница между маржей и отступами
Margin - это свойство CSS, которое используется для создания пространства вокруг элемента за пределами определенной границы, а отступ - это свойство CSS, которое используется для создания пространства вокруг элемента внутри определенной границы. Таким образом, это объясняет основное различие между полем и отступом.
Значения Кроме того, значения поля могут быть автоматически, длина,% или наследовать, в то время как значения заполнения могут быть длина,% или наследовать тип. Следовательно, это еще одно различие между полем и отступом.
Вкратце, margin и padding - это два свойства в CSS, которые позволяют стилизовать веб-страницы. Невозможно назначить отрицательные значения для этих свойств. Основное различие между полем и отступом заключается в том, что поле помогает создать пространство вокруг элемента вне границы, тогда как заполнение помогает создать пространство вокруг элемента внутри границы.
источник
Попробуйте поместить цвет фона на блок div с шириной и высотой. Вы увидите, что заполнение увеличивает размер элемента, тогда как margin просто перемещает его в потоке документа.
Маржа специально для перемещения элемента вокруг.
источник
Заполнение - это пространство между ближайшими компонентами на веб-странице, а поле - это расстояние от поля веб-страницы.
источник
Есть одно важное отличие:
Margin - находится снаружи элемента, т.е. применяется сдвиг пробела «после» начала элемента. Padding - находится внутри, другой применяет пробел "до" начала элемента.
источник
Маржа применяется к внешнему элементу, что влияет на то, насколько далеко ваш элемент находится от других элементов.
Заполнение применяется к внутренней части вашего элемента, следовательно, влияет на то, как далеко содержимое вашего элемента находится за пределами границы.
Кроме того, использование поля не повлияет на размеры вашего элемента, в то время как отступы сделают размеры ваших элементов (задайте высоту + отступы), поэтому, например, если у вас есть div 100x100px с отступом 5 px, ваш div будет фактически 105x105px
источник
По сути, разница между отступом и полем определяется фоном. Заполнение будет определять пространство между содержимым, а отступы - внешним краем элементов!
источник
Одна вещь, которую я только заметил, но ни один из вышеупомянутых ответов не упомянут. Если у меня есть динамически созданный элемент DOM, который инициализируется с пустым внутренним html-содержимым, хорошей практикой будет использование margin вместо padding, если вы не хотите, чтобы этот пустой элемент занимал какое-либо место, кроме того, что создается его содержимое.
источник
Отступы - это пространство между содержимым и границей. Где , как Маржа это пространство между на границе , а другой элемент.
источник