当前位置: 首页 > 面试题库 >

如何使用CSS将文本垂直居中?

柴博
2023-03-14
问题内容

我有一个包含文本的div元素,并且我想将此div的内容垂直居中对齐。

这是我的div样式:

#box {

  height: 170px;

  width: 270px;

  background: #000;

  font-size: 48px;

  color: #FFF;

  text-align: center;

}


<div id="box">

  Lorem ipsum dolor sit

</div>

做这个的最好方式是什么?


问题答案:

您可以尝试以下基本方法:

div {

  height: 100px;

  line-height: 100px;

  text-align: center;

  border: 2px dashed #f69c55;

}


<div>

  Hello World!

</div>

但是,它仅适用于一行文本,因为我们将行的高度设置为与包含框元素相同的高度。

更通用的方法

这是垂直对齐文本的另一种方法。此解决方案适用于一行和多行文本,但仍需要一个固定高度的容器:

div {

  height: 100px;

  line-height: 100px;

  text-align: center;

  border: 2px dashed #f69c55;

}

span {

  display: inline-block;

  vertical-align: middle;

  line-height: normal;

}


<div>

  <span>Hello World!</span>

</div>

CSS只是通过设置的line-height等于其高度来<div>调整的大小,垂直居中对齐,然后使用来将inline-
block设置为。然后,将的行高设置回正常,因此其内容将自然地在块内流动。<span>``<div>``<span>``vertical-align: middle``<span>

模拟表显示

这是另一个选项,可能在不支持display: table和的display: table- cell较旧的浏览器(主要是InternetExplorer7)上不起作用。使用CSS我们模拟表的行为(因为表支持垂直对齐),并且HTML与第二个示例相同:

div {

  display: table;

  height: 100px;

  width: 100%;

  text-align: center;

  border: 2px dashed #f69c55;

}

span {

  display: table-cell;

  vertical-align: middle;

}


<div>

  <span>Hello World!</span>

</div>

使用绝对定位

此技术使用绝对定位的元素将top,bottom,left和right设置为0。在SmashingMagazine的CSS中的绝对水平和垂直居中中_ 对此进行了详细介绍。

div {

  display: flex;

  justify-content: center;

  align-items: center;

  height: 100px;

  width: 100%;

  border: 2px dashed #f69c55;

}


<div>

  <span>Hello World!</span>

</div>


 类似资料:
  • 问题内容: 我怎么能垂直居中内的? 到目前为止,我的代码: 我已经尝试过“ top:50%”;和“ vertical-align:middle”;没有成功 编辑: 好的,所以已经讨论了很多。我也许已经开始了另一场小型的火焰战争。但是为了论证,那我该如何用一个表呢?到目前为止,我已经将CSS用于其他所有内容,所以这并不是说我没有尝试采用“良好做法”。 编辑: 内部div没有固定的高度 问题答案: 简

  • 问题内容: 我正在尝试制作一个小的用户名和密码输入框。 我想问一下,如何垂直对齐div? 我所拥有的是: 如何使ID为Username和Form的div垂直对齐中心?我试着把: 在CSS中用于ID为Login的div,但似乎不起作用。任何帮助,将不胜感激。 问题答案: 现代浏览器中最好的方法是使用flexbox: 某些浏览器将需要供应商前缀。对于不支持Flexbox的较旧的浏览器(例如IE9及更低

  • 本文向大家介绍如何垂直居中` `?相关面试题,主要包含被问及如何垂直居中` `?时的应答技巧和注意事项,需要的朋友参考一下 使用协助元素(这里是i),作为img的相邻元素,同为inline-block的两元素相邻时增加vertical-align: middle

  • 我想在表格上垂直对齐。 从'React'导入React,{Component};从“原生基”导入{Container,Header,Content,Form,Item,Input,Button,Text};从“react native”导入{StyleSheet}; }); 我的应用程序看起来像这样。

  • 本文向大家介绍CSS垂直居中的方法?相关面试题,主要包含被问及CSS垂直居中的方法?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: (1)margin:auto法 定位为上下左右为0,margin:0可以实现脱离文档流的居中. (2)margin负值法   补充:其实这里也可以将marin-top和margin-left负值替换成, transform:translateX(-50%)和t

  • 我正在使用一个字体可怕的图标在成功的模式。我想使图标更大,问题是文本不再垂直居中,如果我这样做。