Как использовать CSS 'margin' и 'padding' для вертикального интервала между абзацами:
- Можно ли определить вертикальное пространство между абзацами, используя отступы и / или поля?
- Если это можно сделать одним из них, то какой из них лучше или нормальнее использовать?
- Имеете ли вы тенденцию определять ненулевые отступы и ненулевые поля, и если да, то сколько из каждого?
Пример полей, отступов и границ объясняет в теории в чем разница между полем и отступом: я задаюсь вопросом, сколько из каждого использовать в потренируйтесь , чтобы создать нормальную, хорошо выглядящую страницу.
Во-вторых, данная разметка выглядит следующим образом ...
<p>Paragraph.</p>
<ul>
<li>List item.</li>
<li>Another list item.
<p>List paragraph.</p>
</li>
</ul>
Если вам нужно одинаковое вертикальное пространство между каждым абзацем и / или элементом списка, то:
- Вы бы хотели определить
<ul>
как имеющий нулевое поле + собственный отступ?
- Или
<ul>
обычно имеет ненулевую маржу, которая тогда не будет иметь никакого эффекта, поскольку эта маржа будет свернута с маржей <li>
внутри нее и <p>
, которая предшествует ей?
В-третьих (и я не уверен, должен ли я задавать этот третий вопрос), спецификация для сворачивающихся полей гласит: «Если верхнее и нижнее поля бокса соприкасаются, то это возможно падение полей через него ". Если у меня есть пустой абзац, как следующий в середине ...
<p>Hello</p>
<p></p>
<p>World</p>
... тогда я бы ожидал увидеть это как пустой абзац, то есть с дополнительным количеством вертикального пространства между Hello
и World
:
- Что предотвратит свертывание полей этого пустого абзаца и, следовательно, пустой абзац невидимым: делает ли это ненулевое заполнение?
- В каком сценарии это Полезно ли для бокса иметь смежные верхнюю и нижнюю границу, которые разрушаются?
Ответы на любой или все эти три вопроса приветствуются.
В данный момент меня не особо интересуют проблемы блочной модели, характерные для IE: вместо этого я хочу узнать, как использовать стандарт.