html div 字体居中 css,CSS-在div中居中显示文字?

CSS-在div中居中显示文字?

我有div 30px高和500px宽。 此div可以包含两行文本,一行在另一行下,并相应地设置样式(填充)。 但是有时它只包含一行,而我希望它居中。 这可能吗?

Rifki asked 2020-08-08T14:45:01Z

13个解决方案

52 votes

要水平居中,请使用vertical-align:middle。

要垂直居中,如果同一行中有另一个要对齐的元素,则只能使用vertical-align:middle。

看到它在这里工作。

我们使用高度为100%的空跨度,然后将内容放置在具有vertical-align:middle的下一个元素中。

还有其他技术,例如使用表格单元格或将内容放置在上,下,左和右均设置为零的绝对定位的元素中,但它们都存在跨浏览器兼容性的问题。

SamGoody answered 2020-08-08T14:45:25Z

26 votes

我相信您希望文本在div内垂直居中,而不是(仅)水平居中。 我知道做到这一点的唯一可靠方法是使用:

display: table-cell;

vertical-align: middle;

在您的div上,并且可以使用任意数量的行。您可以在此处查看测试:[http://jsfiddle.net/qMtZV/1/]

确保检查浏览器对此属性的支持,例如,在IE7或更早版本中不支持此属性。

更新02/10/2016

五年后,这种技术仍然有效,但是我相信有更好,更可靠的解决方案。 由于Flexbox的支持非常好,因此您可能需要遵循以下步骤:[http://codepen.io/michelegera/pen/gPZpqE。]

michelegera answered 2020-08-08T14:46:03Z

7 votes

的HTML

Centered Text

的CSS

.outside {

position: absolute;

display: table;

}

.inside {

display: table-cell;

vertical-align: middle;

text-align: center;

}

Lars answered 2020-08-08T14:46:27Z

5 votes

如果

中包含文本:

text-align: center;

vertical-align: middle;

display: table-cell;

enigma969 answered 2020-08-08T14:46:47Z

4 votes

对于父div,请使用以下CSS:

style="display: flex;align-items: center;"

Ayan answered 2020-08-08T14:47:06Z

3 votes

div {

height: 256px;

width: 256px;

display: table-cell;

text-align: center;

line-height: 256px;

}

诀窍是将line-height设置为等于div的height。

Henry Zhu answered 2020-08-08T14:47:26Z

2 votes

添加行高也有帮助。

text-align: center;

line-height: 18px; /* for example. */

Schw2iizer answered 2020-08-08T14:47:46Z

1 votes

我在这里可能会丢失一些东西,但是您是否尝试过:

text-align:center;

??

Adam Moss answered 2020-08-08T14:48:10Z

1 votes

您可以尝试在CSS中使用vertical-align属性,以使其居中

div {

vertical-align:middle;

}

如果是尺寸问题,请注意2个文本行和一个填充样式很有可能具有超过30像素的高度。

例如,如果您的字体大小为12像素,而div填充为5像素,则一个文本行的div高度将为5像素(填充顶部)+ 12像素+ 5像素(填充底部)= 22像素<30像素,所以没有问题,

使用2个文本行的div,它将为5px + 12px * 2(2行)+ 5px = 34px> 30px,并且您的div高度将自动更改。

尝试增加div高度(可能为40px)或减少填充。

希望对你有帮助

G.K. answered 2020-08-08T14:48:52Z

0 votes

这对您有用吗?

div { text-align: center; }

kaveman answered 2020-08-08T14:49:12Z

0 votes

我环顾四周,

display: table-cell;

vertical-align: middle;

似乎是最受欢迎的解决方案

godzilla answered 2020-08-08T14:49:36Z

0 votes

display: block;

text-align: center;

Dexy86 answered 2020-08-08T14:49:52Z

0 votes

添加到包含文本的选择器中

margin:auto;

Matoeil answered 2020-08-08T14:50:11Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值