css - 文本输入中的不同字体渲染?

标签 css input font-face font-size

我有一个输入字段,它看起来应该与正常的正文文本完全一样。 它没有任何特别指定。在我的 css 重置中,我有这个......

input, textarea, button, select {
    margin: 0;
    font-size: 100%;
    line-height: normal;
    vertical-align: baseline;
}

输入字段中的文本比上面的要大……请参阅我的示例屏幕截图。下面一行是输入框,上面一行是普通文本。

enter image description here

这发生在所有浏览器中。如果我将输入的 font-size 更改为 97%,那将是正确的。但是我根本不明白为什么文本输入会调整字体大小?

有什么想法吗?

最佳答案

您还需要在输入上设置字体大小,因为它不会直接从主体继承。

这是因为较新的浏览器将使用它自己的基本样式表来格式化输入。

http://jsfiddle.net/mjPE9/ (firefox 中的默认字体是衬线字体,但如果没有不同的指定,输入将始终使用无衬线字体)

如果您使用 Firebug,您可以在“样式”选项卡下拉列表中选中“显示用户代理样式”,从而看到浏览器设置的所有这些用户代理样式。使用的文件是 forms.css - 您可以在您的系统上轻松找到它,如果您进行搜索,可以检查它在幕后发生了什么。

关于css - 文本输入中的不同字体渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776801/

相关文章:

javascript - 单击按钮时自动填写表单

javascript - 在 Chromium 中使用 font-face 时元素的准确宽度

html - Google 字体(上面有一个空格)无法在 IE7/IE8 上呈现

css - 自定义字体和链接框

c# - 如何在 ASP.NET 中动态创建的用户控件上查找控件?

html - Bootstrap Switch,如何去掉整个switcher的border radius

html - 为 HTML 颜色输入设置自定义图标

css - 自动尺寸输入字段

javascript - 将 jquery-ui 窗口的父元素设置为另一个元素

java - 为扫描仪创建专用类是一个有用的输入解决方案吗?