首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Chrome浏览器中文本的垂直对齐错误

Google Chrome浏览器中文本的垂直对齐错误
EN

Stack Overflow用户
提问于 2015-03-31 10:51:04
回答 2查看 5.1K关注 0票数 20

我在创建“按钮”元素(在带边框的内联块容器中的文本)方面有问题,因为在某些字体大小的文本中,垂直对齐是错误的(中间不是完美的)。

我想使用罗利威 (Google )和引导。文本容器的高度按行高设置.

我正在视窗7上测试它.

火狐上。一切都很完美

但问题在于谷歌Chrome (ver )。41)

直播预览:http://biznes-dynamit.pl/test/marcin-dobroszek/font/

CSS代码的一部分:

代码语言:javascript
运行
复制
/*Bootstrap default style*/
* {
    box-sizing: border-box;
}
.btn {
    display: inline-block;
    vertical-align: middle;
}

/*custom style*/
body {
    font-family: "Raleway";
}
.btn {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 16px;
    font-size: 11px; /*real height: 8*/
}
.btn-sm {
    font-size: 10px; /*real height: 7*/
    line-height: 15px;
 }
.btn-lg {
    font-size: 12px; /*real height: 8-9*/
    line-height: 16px; /*light, normal*/
 }

正如您在Chrome中看到的,在某些字体大小和字体权重的文本中预览是向上的相对容器。

3x缩放样本,字体大小:11 3x(线高:16 3x),字体重:半粗体。

顶部和底部的空间(在文本和上下边框之间)应该是相同的: 4px,但是正如您所看到的,顶部空间有3px,底部有5px。

有可能解决这个浏览器问题吗?

EN

回答 2

Stack Overflow用户

发布于 2018-05-18 08:51:11

这个非常恼人的问题是由铬没有考虑到text-transform: uppercase造成的。使用以下方法可以在Chrome中得到正确的全大写文本对齐:

代码语言:javascript
运行
复制
text-transform: lowercase;
font-variant: small-caps;

小提琴:http://jsfiddle.net/fyvyB/76/

对于按钮来说,效果很好,对于其他用法来说,你可能会遇到一些问题,比如文本是小大写,而不是真正的大写。

票数 1
EN

Stack Overflow用户

发布于 2018-07-25 13:33:10

自定义字体也有类似的问题。在尝试了文本元素上所有不同的显示属性之后,我注意到垂直对齐问题只影响父元素为display: block;的文本元素,尽管上述文本元素被设置为display: inline;。我解决了这个问题,把父母换成display: table;,把孩子的短信换成display: inline;,例如.我无法解释为什么这会起作用,但在这里张贴是为了防止它对其他人有帮助.

代码语言:javascript
运行
复制
<style>
  div {
    display: table;
  }
  span {
    display: inline;
    padding: 5px 10px; /* to make v-alignment clearer */
  }
</style>
<div>
  <span>Some text here</span>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29366908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档