【发布时间】:2014-07-14 06:53:22
【问题描述】:
我正在尝试了解 Chrome 应用于元素的默认边框。对于这个例子,我使用的是输入文本。
当使用 jquery 获取我的边框时
$("input").css("border")
"2px inset rgb(0, 0, 0)"
在 chrome 开发选项卡中。我可以看到它是正确的,因为它与 chrome 的计算样式选项卡中显示的相同。
但是,当我尝试手动将 "2px inset rgb(0, 0, 0)" 应用于元素的边框(通过 jquery css 或直接通过样式表)时,我得到了一个非常不同的边框。我可以注意到 rgb(0, 0, 0) 是黑色的,但 chrome 中的默认边框确实是灰色的......
我很困惑..我有一个小提琴可以显示这个http://jsfiddle.net/MicheleC/jE5K7/
编辑:
这是 chrome 用户代理样式表
border: 2px inset;
border-image-source: initial;
border-image-slice: initial;
border-image-width: initial;
border-image-outset: initial;
border-image-repeat: initial;
导致
问题 1: 为什么默认是 rgb(238, 238, 238)?
问题 2:
如何以编程方式获得真正的计算颜色?即像$("input").css("border-bottom-color") 这样的东西不幸地给了我 rgb(0, 0, 0)
问题 3:
当我手动设置border: 2px inset rgb(238, 238, 238);(chrome 说它是计算出来的)为什么我会得到不同的东西?
【问题讨论】:
-
我可以看到它是正确的,因为它与 chrome 的计算样式选项卡中显示的相同 对我来说,Chrome 显示
rgb(238, 238, 238) -
@Andreas 是的,但它也说 2px inset。如果您尝试申请
2px inset rgb(238, 238, 238),您会得到不同的边框。
标签: javascript jquery html css google-chrome