Итак, у меня есть список предметов, разделенных рамкой. Я хотел бы иметь равное дополнение и маржу, применяемые к верхней и нижней части каждого элемента.Поля CSS и заполнение не применяются
Вот fiddle, который содержит упрощенную версию того, с чем я работаю.
Теперь вы видите, что у меня есть 10px из margin
и padding
, которые применяются к верхней и нижней части каждого элемента, но элементы не равномерно распределены. Над каждым элементом больше места, чем ниже.
Я понимаю, что это, вероятно, результат CSS collapsing margins behaviour, и что я могу исправить его, добавив больше отступов, чем margin, чтобы получить промежуток, который я хочу.
Проблема, однако, что некоторые элементы, я хочу выделить, добавив цвет фона, например, fiddle. И когда я это делаю, прокладка сверху и снизу должна быть одинаковой.
Итак, как я могу исправить эту проблему? Я хочу, чтобы он был очень гибким, поэтому я могу настроить размер отступов и полей, если захочу, а также удалять границу, но при этом ее правильно отображать.
HTML:
<div class="list">
<div class="item">
<span class="fill"> </span>
</div>
<div class="item">
<span class="fill"> </span>
</div>
<div class="item">
<span class="fill"> </span>
</div>
</div>
CSS:
.item {
display: block;
width: 150px;
margin-top: 10px;
margin-bottom: 10px;
padding-bottom: 10px;
padding-top: 10px;
border-bottom: 1px solid red;
}
.fill {
background-color: #aaa;
display: block;
height: 150px;
}
.bg {
background-color: #ccc;
}
Измените свой вопрос, чтобы включить соответствующие HTML и CSS в качестве фрагментов кода (в дополнение к проектам jsfiddle, которые очень полезны). – dgvid
Я просто подумал, что очень сложно бросить HTML и CSS в нижней части записи, когда все будут просто просматривать его в jsfiddle. Но нормально – eshellborn