html - 无法使用 rem 和边框使两个 div 相等
问题描述
我正在尝试使两个 div 相等。一个有自己的rem大小,另一个应该等于第一个,但它有一个边框(它的宽度也是rem)。因此,我决定将其大小计算为第一个大小减去边框的总厚度。尽管如此,它们仍然是不同的大小,不同的像素份额。当我使用 px (在我的情况下它是不可取的)时,不会发生这样的问题。
<body>
<div style="height: 10.16rem; width: 10.16rem; background-color: aqua;"></div>
<div style="height: 10rem; width: 10rem; border: 0.08rem solid aqua; background-color: blue;"></div>
</body>
似乎对物边界的厚度符合其他一些法律,但我在任何地方都没有找到答案。理论上,在这两种情况下,divs 应该相等,因为 rem 是从 html 中的字体大小计算的。
解决方案
将框大小设置为边框框以避免此问题。
然后你的两个 div 将遵循指定的尺寸,而不受边框、填充等的影响。
* {
box-sizing: border-box;
}
<body>
<div style="height: 10rem; width: 10rem; background-color: aqua;"></div>
<div style="height: 10rem; width: 10rem; border: 0.08rem solid aqua; background-color: red;"></div>
</body>
推荐阅读
- javascript - 当宽度小于最大宽度时如何包装元素?
- azure - 调用由 AAD 保护的 azure 函数
- python - 在 googlecolab 或 Kaggle 内核上没有检测到
- c# - 由于未知原因在 C# 中使用字符串数组时出现多个运行时异常
- tensorflow - 较大数量的过滤器比 conv2D 层中较少数量的过滤器性能更差
- c++ - C Windows API 确定用户是否处于非活动状态,包括播放媒体
- jquery - Bootgrid 数据行 ID 未定义
- html - Go Template Parse 函数给出错误
- flutter - pub 获取失败(66;在“C:\Windows\System32”中找不到名为“pubspec.yaml”的文件
- flutter - 如何使用 Flutter 创建多色进度条