【问题标题】:Cross browser vertical center text跨浏览器垂直居中文本
【发布时间】:2015-03-28 00:51:20
【问题描述】:

问题

我正在尝试使用大字体大小的跨浏览器将字母垂直居中。看起来更困难,因为我尝试过的每一种方法(行高,显示:表格单元,转换:翻译......)都因大字体大小而失败。该问题仅存在于 OS X 中。

我已经尝试解决这个问题已经有一段时间了,这里有一个仅适用于 Safari 的解决方案:

div {
    width: 200px;
    height: 200px;
    background: #2b2b2b;
    text-align: center;
    line-height: 200px;
    color: #fff;
    font-family: helvetica, arial, sans-serif;
    font-size: 200px;
}
<div>O</div>

这是带有代码的Codepen

这是 OS X 10.10 的结果屏幕截图,同时支持 Safari、Chrome 和 Firefox:

更新

经过数小时的广泛测试,我设法确定了问题的根源,即字体家族 helvetica。在 Windows 上,字体系列不存在,因此加载的字体只有 arial 或 sans-serif。在 OS X helvetica 上存在,但字体系列在三个浏览器中不同。当我删除字体系列时,字母与行高正确垂直对齐。但是现在,我很想知道为什么会出现这个错误。

这是一个带有新代码的代码笔:link

div {
    width: 200px;
    height: 200px;
    background: #2b2b2b;
    text-align: center;
    line-height: 200px;
    color: #fff;
    font-family: arial, sans-serif;
    font-size: 200px;
}
<div>O</div>

【问题讨论】:

  • 刚刚查看了 Crome 和 FireFox(Windows 机器),但两者显示相同且对齐正确。
  • 您好,首先感谢您上传图片。我刚刚编辑了这个问题:我在 XP 的虚拟机上进行了查找,看起来很好,但在 mac OS X 上描述了问题。
  • 对我也有好处(FF 35.0.1 W7x64)
  • 在我的 windows 7 chrome 上没问题。

标签: html css macos cross-browser vertical-alignment


【解决方案1】:
           try this fiddle code :

http://jsfiddle.net/x25wh1ym/1/

div {
    background: none repeat scroll 0 0 #2b2b2b;
    color: #fff;
    font-family: helvetica,arial,sans-serif;
    font-size: 200px;
    height: 100vh;
    position: relative;
    text-align: center;
    width: 200px;
}


span {
    height: 100vh;
    line-height: 100vh;
    position: relative;
    vertical-align: middle;
}<div><span>O</span></div>

【讨论】:

  • 您好,即使高度越高,字母似乎居中,当您降低所述高度时,您最终也会得到相同的结果。这是一个包含它的文件:link.
  • ok 试试这个:现在我给定了要跨越的字体大小。它将始终位于中心,直到它不会达到相同的文本高度。请看小提琴jsfiddle.net/x25wh1ym/3
  • 我已经更新了这个问题:如果你删除 font-family helvetica 它就可以了。现在我很想了解为什么在三种浏览器中所说的字体如此不同。
【解决方案2】:

我不确定这是否正确,但我删除了行高并添加了填充,例如padding: 30px 0 0 0; 似乎对我有用。不完全确定这是否是您想要的。

【讨论】:

  • 您好,我已经尝试过您的解决方案,但它似乎不起作用。这是一个带有代码的代码笔:link。如您所见,填充在顶部增加了空间,实际上并未使字母居中。如果您在 safari 和 firefox 上试用此 codepen,您会立即注意到差异。
猜你喜欢
  • 2016-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 2018-05-29
  • 2013-10-15
  • 1970-01-01
相关资源
最近更新 更多