javascript - CSS flex display 与 Chrome 中相同的 flex 项目的行为不同
问题描述
由于 Chrome 等浏览器的字体大小限制,我有几个相同的弹性项目,其中包含一个span
带有的矩形margin-right
和一个缩放的。text span
我将它们放入一个 flex 容器中,但我认为其中一些在 Chrome 中不正确,没有margin-right
rect span
,但 Firefox 很好。
#flex-container {
display: flex;
width: 50px;
}
.flex-item {
display: flex;
flex-direction: row;
align-items: center;
align-content: space-around;
margin-right: 2.1875px;
position: relative;
height: 7px;
}
.rect {
width: 5px;
height: 5px;
display: inline-block;
background: rgb(6, 74, 105);
margin-right: 0.875px;
}
.text {
position: relative;
font-size: 12px;
display: inline-block;
vertical-align: middle;
transform: scale(0.5);
transform-origin: left center;
width: 20.5px;
}
<div id="flex-container">
<div class="flex-item">
<span class="rect"></span>
<span class="text">Mazda</span>
</div>
<div class="flex-item">
<span class="rect"></span>
<span class="text">Mazda</span>
</div>
<div class="flex-item">
<span class="rect"></span>
<span class="text">Mazda</span>
</div>
<div class="flex-item">
<span class="rect"></span>
<span class="text">Mazda</span>
</div>
<div class="flex-item">
<span class="rect"></span>
<span class="text">Mazda</span>
</div>
</div>
代码片段运行结果也是正确的。但不在https://jsfiddle.net/xgahLv3k/1/
这是演示图像图像,第二个项目的矩形没有边距。
我怎样才能解决这个问题?谢谢!
解决方案
如果我理解正确,像素是您可以使用的最小单位。这意味着小于 1 的像素会根据浏览器的舍入行为四舍五入为 0px 或 1px。在您的情况下,rect
类的 margin-right 小于 1px。尽量避免使用小于 1px 的像素。
推荐阅读
- python - 有人可以解释一下使用键作为参数对列表进行排序的这行代码吗?
- javascript - 查找最低成本路径 javascript
- amazon-s3 - 在 aws 中拆分 3gb 文件
- python - Pandas:从另一个 groupby 表中调用值
- r - 是否有更好更快的方法来计算存储在变量中的一些统计数据并将结果分配给也存储在变量中的新列?
- c# - vector3 lerp 基于 2 个不同的浮点数/轴?
- react-native - 来自 JS 的格式错误的调用:字段大小不同。在反应天真的执行更新查询时
- perforce - perforce 服务器,为新项目重置修订编号
- c# - 尝试从企业代理和防火墙后面使用 C# 使用 Microsoft Graph 发送电子邮件
- flutter - PersistantBottomNavBar style1 不起作用