Яка саме різниця між маржами та padding в CSS? Це, здається, не служить великій меті. Чи можете ви надати мені приклад того, де лежать відмінності (і чому важливо знати різницю)?
Яка саме різниця між маржами та padding в CSS? Це, здається, не служить великій меті. Чи можете ви надати мені приклад того, де лежать відмінності (і чому важливо знати різницю)?
Відповіді:
padding
- це простір між вмістом і border
, тоді margin
як простір поза межами. Ось зображення, яке я знайшов під час швидкого пошуку в Google, що ілюструє цю ідею.
Одне ключове, чого не вистачає у відповідях тут:
Поле вгорі / внизу є розбірним.
Отже, якщо у вас є поле 20px в нижній частині елемента і 30px запас у верхній частині наступного елемента, поле між двома елементами буде 30px, а не 50px. Це не стосується лівого / правого поля або підкладки.
Маржа застосовується зовні елемента, що впливає на те, наскільки ваш елемент знаходиться далеко від інших елементів.
Накладка наноситься зсередини сторони елемента, а отже, впливає на те, наскільки вміст вашого елемента знаходиться далеко від межі.
Крім того, використання поля не вплине на розміри вашого елемента, тоді як підкладка зробить розміри елементів (встановити висоту + набивання), так, наприклад, якщо у вас є роздільник 100x100px з накладкою 5 пікселів, ваш дів насправді буде 105x105px
auto
. Якщо ширина auto
, то додаткове накладення відповідно збільшить ширину прокладеного елемента (і з обох сторін, як згадував @ 2013Asker)
Запам’ятайте ці 3 пункти:
Демонстраційне зображення: (де червоне поле - це контроль за бажаннями)
Найпростіше визначення; padding - це простір, який надається всередині рамки елемента контейнера, а поле надається зовні. Для елемента, який не є контейнером, прокладка може не мати особливого сенсу, але поле, напевно, допоможе впорядкувати його.
Прокладка - це простір всередині кордону, тоді як маржа - це простір поза кордоном.
Прокладки
Padding - це властивість CSS, яка визначає простір між вмістом елемента та його межею (якщо він має межу). Якщо в елемента є рамка навколо нього, прокладка дасть простір від цієї межі до вмісту елемента, який відображається на цій межі. Якщо елемент не має рамки навколо нього, то додавання прокладки взагалі не впливає на цей елемент, оскільки немає межі, щоб дати простір.
Маржа
Маржина - це властивість CSS, яка визначає простір зовні елемента для його наступного зовнішнього елемента.
Маржа впливає на елементи, які мають або не мають кордонів. Якщо елемент має межу, межа визначає простір від цієї межі до наступного зовнішнього елемента. Якщо елемент не має межі, то поле визначає простір від вмісту елемента до наступного зовнішнього елемента.
Різниця між прокладкою та запасом
Отже, різниця між полем і накладкою полягає в тому, що в той час як оббивка стосується внутрішнього простору, запас стосується зовнішнього простору до наступного зовнішнього елемента.
Одна з ключових відмінностей між маржами та прокладками не згадується в жодній із відповідей: клікабельність та виявлення наведення курсору
Збільшення обшивки збільшує ефективний розмір елемента. Іноді у мене є невеликий значок, який я не хочу робити помітно більшим, але користувачеві все одно потрібно взаємодіяти з цим значком. Я збільшую прокладку піктограми, щоб надати їй більший слід для клацань і наведення курсора. Підвищення поля піктограми не матиме однакового ефекту.
Відповідь на інше запитання з цієї теми дає приклад.
margin = простір навколо (зовні) елемента від межі назовні.
padding = пробіл навколо (всередині) елемента від тексту до межі.
дивіться тут: http://jsfiddle.net/robx/GaMpq/
Добре знати про відмінності між margin
та padding
. На скільки я знаю:
auto
значення для маржі. Однак заборонено для прокладки. Дивіться це .
margin: auto
для центрування блокового елемента всередині його батьківського місця по горизонталі. Крім того, можна центрувати елемент всередині флексокса вертикально або горизонтально або обидва, встановлюючи поле для автоматичного. Дивіться це .
background-color
властивість чорного кольору, його внутрішній простір (тобто прокладка) буде чорним, але не його зовнішній простір (тобто межа).
Поле - це простір поза коробкою; підкладка - це простір всередині коробки. Важко помітити різницю з білою заливкою, але з кольоровою заливкою ви можете це бачити прекрасно.
Прокладка дозволяє розробникові зберігати простір між текстом і його вкладеним елементом. Поле - це простір, який елемент підтримує з іншим елементом батьківського DOM.
Див. Приклад:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UT-8">
<title>Pseudo Elements</title>
<style type="text/css">
body{font-family:Arial; font-size:16px; background-color:#f8e6ae; color:#888;}
.page
{
background-color: #fff;
padding: 10px 30px 50px 50px;
margin:30px 100px 30px 300px;
}
</style>
</head>
<body>
<div class="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>
Маржа - це властивість у CSS, яка використовується для створення пробілів навколо елементів, поза межами кордону. Програміст може встановити поле для верхнього, правого, нижнього та лівого. Іншими словами, він може встановлювати ці значення, використовуючи margin-top, margin-right, margin-bottom та margin-left.
Значення маржі можуть бути таких типів.
По-перше, авто дозволяє браузеру обчислювати маржу. Більше того, довжина позначає запас у px, pt або cm, тоді як% допомагає описати запас у відсотках відносно ширини елемента, що містить. Нарешті, наслідування позначає, що маржа повинна успадковуватися від батьківського елемента.
Padding - це властивість у CSS, яка допомагає створити простір навколо елемента всередині кордону. Програміст може встановити прокладку вгорі, праворуч, знизу та зліва. Іншими словами, він може встановлювати ці значення, використовуючи padding-top, padding-right, padding-bottom та padding-left.
Значення Padding можуть бути таких типів.
Довжина описує прокладку в px, pt або cm, тоді як% позначає прокладку у відсотках відносно ширини елемента, що містить. Нарешті, наслідок описує, що прокладка повинна бути успадкована від батьківського елемента.
div.special {
width:200px;
border-style: solid;
border-width:thin;
border-color:#000;
margin:30px 20px 10px 25px;
}
div.special2 {
width:200px;
border-style: solid;
border-width:thin;
border-color:#000;
padding:30px 20px 10px 25px;
}
<div class="special">
Hello its margin test
</div>
<div class="special2">
Hello its padding test
</div>
Різниця між маржею та прокладкою
Поле - це властивість CSS, яка використовується для створення простору навколо елемента за межами визначеної межі, тоді як підкладка - це властивість CSS, яка використовується для створення простору навколо елемента, всередині визначеної межі. Таким чином, цим пояснюється основна відмінність між маржами та прокладками.
Значення Крім того, значення маржі можуть бути автоматичними, довжиною,% або успадковуватими, тоді як значення набивання можуть бути довжиною,% або типом успадкування. Отже, це ще одна відмінність між маржею та прокладкою.
Коротше кажучи, поля та прокладка - це два властивості CSS, що дозволяє стилізувати веб-сторінки. Неможливо призначити негативні значення для цих властивостей. Основна відмінність поля та прокладки полягає в тому, що поле допомагає створювати простір навколо елемента за межами кордону, тоді як набивання допомагає створити простір навколо елемента всередині кордону.
Прокладка - це простір між найближчими компонентами веб-сторінки, а поле - це простір від поля веб-сторінки.
Я щойно помітив, але жодної з вищезгаданих відповідей не було зазначено. Якщо у мене є динамічно створений елемент DOM, який ініціалізується порожнім внутрішнім вмістом html, то корисно використовувати поле замість прокладки, якщо ви не хочете, щоб цей порожній елемент займав будь-який простір, за винятком його вмісту.
Поле застосовується до зовнішнього елемента, що впливає на те, наскільки ваш елемент знаходиться далеко від інших елементів.
Прокладка застосовується до внутрішньої сторони елемента, а отже, впливає на те, наскільки вміст вашого елемента знаходиться далеко від межі.
Крім того, використання поля не вплине на розміри вашого елемента, тоді як підкладка зробить розміри елементів (встановити висоту + набивання), так, наприклад, якщо у вас є роздільник 100x100px з накладкою 5 пікселів, ваш дів насправді буде 105x105px
В основному, різниця між прокладкою і маржею приходить у фоновому режимі. Прокладки визначатимуть простір між вмістом, тоді як межа визначає зовнішній край елементів!
Прокладка - це простір між вашим вмістом та межею. Де , як Маржа це простір між на кордоні , а інший елемент.
padding vs margin
. Я думаю, нам потрібно додати стрілки до панелі пошуку та зробити зеленим.