【问题标题】:Positioning of text in input tag & buttons. line-height is flat-out ignored sometimes在输入标签和按钮中定位文本。 line-height 有时会被完全忽略
【发布时间】:2012-10-03 07:05:19
【问题描述】:

我无法让我的某些按钮或输入在浏览器中看起来相同。文本的垂直定位通常是问题所在。我尝试了多种浏览器,Firefox (16) 只是忽略了我在 OSX 中的 line-height 并且在 Windows 中看起来仍然不同。

通常有 1 像素的差异,有时甚至更多。当您切换到 iPad 或其他移动设备时,这尤其是一个问题,它总是以某种方式看起来不同。 这是我的 CSS...

  margin         : 0px;
  padding        : 0px;
  font-size      : 15px;
  //height       : 15px; // Tried this too with unsatisfying results
  line-height    : 1;
  vertical-align : top;

我在没有使用 height-property 的情况下截取了屏幕截图

编辑:
所以我四处寻找更多信息,发现了一些类似问题的问题。
虽然没有人解决它...
-> 1 pixel line height difference between Firefox and Chrome
-> line-height 2px lower in firefox vs webkit

edit2:
此外,如果我制作一个 jsfiddle,我仍然会遇到问题,它有点不同,因为它与我正在处理的网站的上下文不同,但它仍然是行高/文本问题:
看这里:http://jsfiddle.net/XQ7VD/3/ 这是 OSX 上的 Chrome(左)和 Firefox(右)

edit3:
这是一个将行高设置为 18px 的屏幕截图(来自这个 jfiddle:http://jsfiddle.net/BJ8eR

我刚刚看到 jsfiddle 按钮和悬停框有同样的问题! xD
好的,我现在已经完成了屏幕截图...

--
如果有人知道技巧,请与我们联系。谢谢!

【问题讨论】:

  • 请创建一个小提琴,以便我们查看您的问题。

标签: html font-size css


【解决方案1】:

文本渲染在不同平台上的所有浏览器中是不同的——字体抗锯齿是完全不同的。所以很难得到像素完美的结果。根据我的经验,为大量浏览器设置输入/按钮元素的样式是一个主要的 PITA。尤其是移动 Webkit 在某些情况下是不可预测的。

如果您的 CSS 不是摘录,您可能需要添加 display:inline-block;

【讨论】:

  • 我刚刚尝试过,但遗憾的是它并没有解决问题。我做了一个 jsfiddle,但仍然有类似的定位问题,我用 jsfiddle 链接更新了我的问题。
  • @Yoschi Strange line-height:1(无尺寸)。我已将其设置为 18px:jsfiddle.net/BJ8eR 我没有 Mac 来测试它,请试试这个小提琴。我在 Win7 FF 和 Chrome 上尝试过,line-height:1 的高度不同,而line-height:18px 的高度相同。
  • 我已经在 osx 和 win8 中使用你的许多浏览器制作了屏幕截图,并将它们添加到我的问题中 :) 问题仍然存在
猜你喜欢
  • 2013-12-04
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-19
相关资源
最近更新 更多