为什么 CSS 不支持负填充?

新手上路,请多包涵

我已经多次看到负填充的前景可能有助于某些页面元素的 CSS 开发变得更好和更容易。然而,W3C CSS 中没有负填充的规定。这背后的原因是什么?该财产是否存在任何妨碍其使用的障碍?感谢您的回答。

更新

如我所见,例如,如果您使用的字体有一些东西,比如垂直间距为 20px,并且您希望在字体底部应用虚线边框,比如出现超链接时。在这种情况下,您会发现样式太简陋了,因为虚线边框会出现在指定单词下方 20 像素处。如果您使用负边距,它不会起作用,因为边距会改变边界外的区域。在这种情况下,负填充可能会有所帮助。

原文由 ikartik90 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 243
2 个回答

我最近 回答了一个不同的问题,我在其中讨论了 为什么 盒子模型是这样的。

盒子模型的每个部分都有特定的原因。填充旨在将背景扩展到其内容之外。如果需要 缩小 容器的背景,应该使父容器的大小正确,并给子元素一些负边距。在这种情况下,内容没有被 填充,而是溢出了。

原文由 zzzzBov 发布,翻译遵循 CC BY-SA 3.0 许可协议

padding按定义是一个正整数(包括0)。

负填充会导致边框折叠到内容中(请参阅 w3 上的 框模型 页面)——这会使内容区域小于内容,这是没有意义的。

原文由 Oded 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题