首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在内联块中垂直居中显示文本

在内联块中垂直居中显示文本
EN

Stack Overflow用户
提问于 2013-08-28 18:28:13
回答 3查看 39K关注 0票数 32

我正在尝试为一个网站创建一些按钮使用样式的超链接。我已经设法让按钮看起来像我想要的那样,除了一个小问题。我不能让文本(下面源代码中的‘Link’)垂直居中。

不幸的是,可能有超过一行的文本,如第二个按钮所示,所以我不能使用line-height将其垂直居中。

我最初的解决方案是使用display: table-cell;而不是inline-block,这解决了Chrome、Firefox和Safari中的问题,但不适用于in,所以我认为我需要坚持使用内联块。

如何在57px x 100px inline-block中将链接文本垂直居中,并使其适合多行文本?提前谢谢。

CSS:

.button {
    background-image:url(/images/categorybutton-off.gif);
    color:#000;
    display:inline-block;
    height:57px;
    width:100px;
    font-family:Verdana, Geneva, sans-serif;
    font-size:10px;
    font-weight:bold;
    text-align:center;
    text-decoration:none;
    vertical-align:middle;
}
.button:hover {
    background-image:url(/images/categorybutton-on.gif);
}
.button:before {
    content:"Click Here For\A";
    font-style:italic;
    font-weight:normal !important;
    white-space:pre;
}

HTML:

<a href="/" class="button">Link</a>
<a href="/" class="button">Link<br />More Details</a>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-28 18:35:38

用跨度(居中)包裹文本,然后在文本前面再写一个空跨度(居中),如下所示。

HTML:

<a href="..." class="button">
  <span class="Centerer"></span>
  <span class='Centered'>Link</span>
</a>

CSS

.Centered
{
    vertical-align: middle;
    display: inline-block;
}

.Centerer
{
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

看看这里:http://jsfiddle.net/xVnQ6/

票数 26
EN

Stack Overflow用户

发布于 2014-07-11 03:47:18

非常感谢@avrahamcool,真的很棒!

我有一个小小的升级。您可以用css替换冗余的.Centerer span。

.button:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

请在此处查看演示:http://jsfiddle.net/modernweb/bXD2V/

注意:这不适用于"content“属性中的文本。

票数 35
EN

Stack Overflow用户

发布于 2021-09-23 19:44:42

如果有人正在设计一个按钮,并寻找这个页面,你可以组合其他答案:

display:inline-flex

  • a display:inline-block

  • a中嵌套了
  • button设计button-content,用于定义诸如文本装饰覆盖之类的内容(对于在父元素定义文本的页面中不带下划线的按钮来说是必需的-特别是在chrome和safari中)

demo example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18485378

复制
相关文章

相似问题

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