Пример HTML + CSS:
<html>
<body style="padding: 0; margin: 0;">
<div style="float: right;">first</div>
<div style="margin-top: 2em;">second</div>
</body>
</html>
Желаемое поведение: div first
плавает в верхнем правом углу окна. Фактическое поведение: он плавает на 2 метка ниже желаемой позиции. Причина: разворот маржи.
Несмотря на выявление проблемы, решения, которые я могу придумать, выглядят как хаки:
- измените стиль
body
наmargin: -1px 0 0 0; border-top: 1px solid;
. - вставить
<div style="height: 1px; margin-bottom: -1px;"></div>
доfirst
- вставьте выше
<div>
междуfirst
иsecond
Есть ли чистый, идиоматический способ избежать этой проблемы?