猿问

在flexbox中的图像上居中文本

在flexbox中的图像上居中文本

如何将文本居中对齐<img>优选使用FlexBox?


body {
  margin: 0px;}.height-100vh {
  height: 100vh;}.center-aligned {
  display: box;
  display: flex;
  box-align: center;
  align-items: center;
  box-pack: center;
  justify-content: center;}.background-image {
  position: relative;}.text {
  position: absolute;}
<section class="height-100vh center-aligned">
  <img class="background-image" src="http://vignette2.wikia.nocookie.net/uncyclopedia/images/f/f8/Stand-out-in-the-crowd-300x300.jpg" />
  <div class="text">SOME TEXT</div></section>


慕丝7291255
浏览 753回答 3
3回答

holdtom

要将文本居中于图像上,您不需要flexbox。只需使用CSS定位属性。.height-100vh&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;100vh; &nbsp;&nbsp;&nbsp;&nbsp;position:&nbsp;relative;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;establish&nbsp;nearest&nbsp;positioned&nbsp;ancestor&nbsp;for &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;absolute&nbsp;positioning&nbsp;*/}.text&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;position:&nbsp;absolute;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;left:&nbsp;50%;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;horizontal&nbsp;alignment&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;top:&nbsp;50%;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;vertical&nbsp;alignment&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;translate(-50%,&nbsp;-50%);&nbsp;/*&nbsp;precise&nbsp;centering;&nbsp;see&nbsp;link&nbsp;below&nbsp;*/}修改了Codepen上面的代码将文本在图像上垂直和水平居中:
随时随地看视频慕课网APP
我要回答