html - 由 CSS 边距创建的换行符比使用 br 元素添加了一个额外的像素
问题描述
由内部带有元素的空段落创建的空间br
占用的空间与段落上有内容一样(如预期的那样)。
例如:这个div
:
<div style="line-height: 1.3">
<p>One</p>
<p>Two</p>
<p><br></p> <!-- `br` here -->
<p>Four</p>
<p>Five</p>
</div>
这个高度相同:
<div style="line-height: 1.3">
<p>One</p>
<p>Two</p>
<p>Three</p>
<p>Four</p>
<p>Five</p>
</div>
但是,如果我不br
使用元素,而是使用div
与 amargin-top
大小相同的a line-height
,则由 创造的空间将比div
其对应物高一个像素。
这与最后两个的高度不同div
:
<div style="line-height: 1.3">
<p>One</p>
<p>Two</p>
<div style="margin-top: 1.3em"></div>
<p>Four</p>
<p>Five</p>
</div>
(即使使用<div style="height: 1.3em"></div>
也会有相同的额外像素)。
为了使div
空间与其他空间相同,我必须从其margin-top
(或height
)中减去一个像素,如下所示:
<div style="line-height: 1.3">
<p>One</p>
<p>Two</p>
<div style="margin-top: calc(1.3em - 1px)"></div>
<p>Four</p>
<p>Five</p>
</div>
我的问题是:是什么导致 CSS 创建的空间高度中的这个额外像素?
解决方案
推荐阅读
- r - 将字符向量与 data.frame 和完整的表相结合
- kotlin - 带有 kotlin MVVM 和数据绑定的 recyclerview 中的单选按钮
- ios - 从 xcode 10.1 安装到 iOS 12+ 时,应用程序在启动屏幕上冻结
- java - 在模型运行时显示 ELKI DBSCAN 聚类模型的进度?
- angular - 从 Angular 5 开始的最佳方式 - 需要更新的资源
- html - 如何在网络中制作不规则形状以用作容器,以便一部分可以包含内容?
- ios - 无法在 IOS 上使用 firebase 运行颤振应用程序
- python - 为什么我的 exe 文件不遵循脚本中的指定路径?
- git - 在 git repo 中删除虚假的第二个根
- ios - 如何覆盖 iPad 外部键盘的 Tab 按下事件?