4

我花了太长时间试图删除选择框左侧的额外间距,当在 Chrome 开发人员工具中,我终于看到用户代理样式表正在添加 2px 左侧边距(在计算样式下查看)。但是,当我单击 margin-left 下拉菜单以查看该样式的定义位置时,它说它被定义为 0em,如下面的屏幕截图所示……有人可以向我解释一下吗?

Chrome 用户代理样式表 - 2px = 0em 如何?

4

2 回答 2

2

我也遇到了这个问题 - 设置一个明确的高度解决了这个问题。

原因:

“*内在边距的目的是防止相邻控件相互碰撞。尤其是圆形控件,这看起来很糟糕。您看到值发生变化的原因是,我们只在认为不会发生内在边距时才设置内在边距破坏页面布局 如果作者在控件上指定了明确的高度/宽度,那么我们假设设计者需要像素精确的控制,因此我们关闭边距以避免破坏页面布局。

这个功能最初是由谷歌首页这样的案例所激发的,它有两个相互对接的按钮。他们现在在现代版本的页面上有间距,但过去没有。这在 Web 上也随处可见,尤其是按钮旁边的文本字段。它们最终在 OS X 上看起来很糟糕(它们在 Windows 上看起来也很糟糕,只是没有那么糟糕)。*”

来源:http ://code.google.com/p/chromium/issues/detail?id=128306

于 2014-01-07T20:50:49.437 回答
0

从该屏幕截图中,看起来有这样一条规则: margin: 2px 2px 4px 2px它覆盖了用户代理最初指定为 0em 的内容

于 2013-03-28T20:56:41.497 回答