HTML/CSS默认边框宽度疑问:Chrome中为何是1.5px而非3px?
关于CSS边框宽度默认值的差异问题
差异原因
CSS规范中明确border-width的初始默认值是medium,对应物理像素3px,但Chrome等现代浏览器的**用户代理样式(UA样式)**会对<p>这类常见文本块元素设置自定义边框宽度,直接覆盖了规范的默认值。
在Chrome里,<p>元素的UA样式将border-width设为1px;如果你的屏幕是高DPI(比如Retina屏),浏览器会做像素缩放,1px的逻辑像素会渲染成1.5px的物理像素,这就是你看到的差异。只有当你显式声明border-width: medium时,才会覆盖UA样式,启用规范定义的3px宽度。
正确的默认值
- CSS规范层面:
border-width的初始默认值是medium,对应3px; - 浏览器UA样式层面:对于
<p>这类元素,Chrome等浏览器会将默认边框宽度设为1px(高DPI屏渲染为1.5px),不同浏览器可能略有差异。
测试代码
<p style="border-style: solid;border-color: black;">C:</p> <p style="border-style: solid;border-color: black;border-width: medium;">C:</p>
测试截图

内容的提问来源于stack exchange,提问作者Alessio Gravili
相关产品推荐
相关产品推荐

