我记得在 SO 上读到过,在 CSS 中通常应避免使用像素分数,因为浏览器倾向于将它们四舍五入为全像素。
实际上,下面的示例显示了如何将0.3
像素四舍五入为完整像素:
span {
border: 0.3px solid black;
}
<span>Lorem ipsum.</span>
我很惊讶,因为我似乎找到了一个反例:
span {
color: white;
-webkit-text-stroke: 0.3px black;
}
<span>Lorem ipsum.</span>
比较1px
:
span {
color: white;
-webkit-text-stroke: 1px black;
}
<span>Lorem ipsum.</span>
我并没有抱怨它发生了,相反它对我来说几乎是救命稻草,但我想了解它为什么会发生。
- 浏览器何时将像素分数舍入为全像素?他们什么时候不是?这里有什么规则?
- 在上面的例子中,
0.3px
我可以依赖浏览器不四舍五入吗?1px
这种行为在浏览器中是否一致?或者依赖这种行为会带来麻烦? - 这到底是怎么发生的?在笔记本电脑上,像素应该是硬件(显示器)限制不可分割的?