css - 为什么无样式的输入文本的边框宽度为 2px?

标签 css browser border default textinput

我有以下 HTML 标记,它生成文本类型的输入表单元素。

<!DOCTYPE html>
<html>
    <body>
        <input type="text" />
    </body>
</html>

在一个不错的浏览器中,它会呈现如下屏幕截图(右侧是缩放图像):

Sample

那么,为什么在检查 <input> 时元素浏览器显示边框宽度为 2px?我们可以从视觉上看出输入元素有1像素。即使使用 jQuery,当我做类似 jQuery('input').css('border-width') 的事情时它吐出2px

当然,这种情况仅发生在无样式的表单输入元素中。

我还创建了一个 JsFiddle 演示:http://jsfiddle.net/HBDUZ/

谢谢!

最佳答案

每个浏览器都有一个内置样式表(称为“用户代理样式表”),其中包含某些元素的默认样式。

在本例中(Chrome 25 beta-m,Windows),样式为:

border: 2px inset;

inset 的结果在这个 JSFiddle 中确实可见。 ,具有对比色背景。

关于css - 为什么无样式的输入文本的边框宽度为 2px?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14371145/

相关文章:

Javascript > HTML 滚动按钮在页面顶部时不会消失

css - 自定义 facebook 粉丝框 css

c++ - 如何编写垂直右侧的 IE 资源管理器栏

c++ - 用于 DOM 的 Gecko API

wpf - 如何删除 ButtonChrome 边框(定义边框模板时)?

javascript - 从数据表中删除垂直边界线

javascript - 如何使用 .css() 应用 !important?

android - 深度链接在 Chrome 移动浏览器中不起作用

html - span 中边框和文本之间的空间

javascript - 如何通过使用 javascript 获取类名来更改 HTML 样式(不允许使用 jQuery)?