提问人:Tyler Crompton 提问时间:3/19/2011 更新时间:3/19/2011 访问量:6490
输入字段在不同浏览器中的呈现方式非常不同
Input fields rendered very differently in different browsers
问:
好的,所以我正在设计一个网站,该网站在网页的右上角有一个登录表单。我设置了其输入字段的 size 属性,并得到了一些有趣的结果。下面是我拼凑起来的一组截图。我什至把它们堆起来给你们所有人。我什至为你们所有人扔了一个 jsFiddle。所以有四件事:
- 我根据堆叠图像中密码输入字段的右下角对齐它们。不要问为什么。
- 我设计所有东西的边框,直到布局正确,然后我删除它们并添加颜色和图像等等。
- IE 9 屏幕截图基于 Adobe 的 BrowserLab,因为我在 Mac 上工作。
- 请注意,基于 WebKit 的浏览器(Safari 和 Chrome)呈现相同的大小。
经过一系列搜索,我找不到任何东西来揭示正在发生的事情。也许是因为很难将这样的问题写成简单的搜索词(或者至少对我来说)......
综上所述,我的问题是为什么输入字段的呈现方式如此不同,最重要的是,我该如何解决这个问题(最好没有 JavaScript 或对用户代理的依赖)?
答:
3赞
Nick Bastin
3/19/2011
#1
该属性设置字段将显示的字符数(在 和 字段的情况下)。不同的浏览器使用不同的默认字体、字体大小和 ppi 度量值,这意味着您获得的大小(以像素为单位)字段的大小差异很大。size
text
password
此外,正如规范所说,这只是控件的“初始”宽度,如果浏览器决定在重排整个页面的过程中需要调整控件的大小,则可以自由地调整控件的大小。
为了使这个字段在不同的浏览器上接近相同(像素)大小,你必须用CSS来设置它的样式。话虽如此,可能有充分的理由认为它们中的每一个都是不同的大小 - 主要与默认字体有关 - 如果你对字段的大小进行像素限制,这意味着某些浏览器将比其他浏览器显示更多的实际文本。
评论
0赞
Tyler Crompton
3/19/2011
啊,我忘了输入标签没有继承font-family属性。这看起来好多了。谢谢。:)
评论