虽然告诉某人填充只接受正值,但我意识到我无法找出任何合理的技术解释。所以我查了一下,this is我发现了什么。
从我的观点来看,接受的答案并没有足够的水。它有点自以为是,并试图寻找借口,而不是 status-quo 的原因(从某种意义上说,它没有关注负面填充值可能导致的任何问题或浏览器的原因应用它们会有麻烦)。我试图在那里找到它,但很快意识到这个问题,以目前的形式,不会让我更接近正确的答案。我没有跟踪它,而是选择问一个我会特别要求从官方和/或可靠来源获取答案的地方。
关于负填充值的CSS会有什么错误,荒谬或反对核心原则?
不可否认,这种技术并不经常需要,但是当它成功时,实现这种效果的唯一方法是在内容周围添加一个额外的包装器,并利用包装器的负边距。无论如何你看它,与使用较少标记的潜在技术相比,它的低于标准。
相对较弱(来自我的POV)的解释是padding
定义了内容和背景之间的关系。但是使用box-sizing
可以很容易地将背景限制附加到盒子模型的其他限制。我相信padding
最终定义了内容和边界区域之间的关系,内容和背景之间的关系只是由边界区域和背景之间的默认关系产生的。为什么我们只允许将这些边界区域限制在一个方向而不是另一个方向?
在挖掘官方文档后,我没有找到任何关于为什么做出这个决定或基于什么的线索:
填充值不能为负。
...在CSS Level 1和
中与margin属性不同,填充值的值不能为负。
...在CSS Level 2 (Revision 1)和Basic-box model中。
值得注意的是,编辑草案中讨论的问题之一是:" 第23期 允许否定填充?&#34 ;.
有没有人知道它是否仍在考虑/辩论中以及被抛出的论点是什么?
根据@MrLister的评论进行编辑。这是我正在寻找的答案类型:
理想情况下,如果不允许使用负填充的原因不再适用,则规范应该在某些时候更改为允许它们。
我必须指出,我并没有真正成为原因的倡导者。在我知道的意义上,作为一个洞,我的问题听起来抱怨 -ish。这不是我的意图。我对指责并不感兴趣。我想要的是知道是否有任何展示停止,让其他人考虑它(也许他们看到我失踪的东西),如果最初的原因不再适用,(希望)让负责今天CSS标准的人考虑问题 我相信负填充值将是任何现代网络开发人员的工具的一个很好的补充,到目前为止,我没有看到它的任何重大缺点。