CSS:如何在图像上垂直和水平居中文本

Unk*_*ser 1 html css html5 css3

我想做的就是将文本垂直和水平放在img上.

试了很多东西但到目前为止没有任何作用:/

    <div class="img_container">
     <img class="cover-image" src="img.jpg" alt="omg" />
     <h2> bla bla bla </h2>
   </div>

  .img_container {
    width: 100%;
  }

  .img_container h2 {
    margin: 0;
  }
Run Code Online (Sandbox Code Playgroud)

Mar*_*ude 6

只需使用绝对位置和翻译.将完美居中(水平和垂直)

.img_container {
  position: relative;
}
.img_container img {
  width: 100%;
  height: auto;
}
.img_container h2 {
  color: white;
  text-shadow: 1px 1px 1px black;
  position: absolute;
  top: 50%;
  left:  50%;
  -webkit-transform: translate(-50%, -50%); /* iOS */
  transform: translate(-50%, -50%);
}
Run Code Online (Sandbox Code Playgroud)
<div class="img_container">
  <img class="cover-image" src="http://lorempixel.com/400/200/sports/" alt="omg" />
  <h2> bla bla bla </h2>
</div>
Run Code Online (Sandbox Code Playgroud)