Div Изображение не по центру по вертикали и горизонтали?

Мое изображение не центрируется с заголовком вверху, что бы я ни пытался. Если кто-нибудь может предоставить мне исправление кода, это будет с благодарностью. Заранее спасибо.

img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 675px;
  height: 418px;
  margin-top: -250px;
  /* Half the height */
  margin-left: -250px;
  /* Half the width */
}

body {
  background-color: black;
}

h1 {
  color: white;
  text-align: center;
}

p {
  color: white;
  font-family: verdana;
  font-size: 20px;
}
<h1>Text</h1>
<div class="img">
  <img src="rsz_damon600.png">
</div>

4 ответа

Вы должны установить margin-top и margin-left как половину ширины и высоты.

или если вы не знаете размер элемента, вы можете использовать

трансформировать: переводить (-50%, -50%);

центрировать его как вертикально, так и горизонтально

img {
   position: absolute;
   top: 50%;
   left: 50%;
   /* width: 675px;
   height: 418px; */
   transform: translate(-50%, -50%);
}

другой метод :

img {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   margin: auto;
}

это руководство

Пытаться:

<!DOCTYPE html>
<html>
<head>
<title>HTML Reference</title>
<style>
img {
   display: block;
   margin: 0 auto;
}

body {
    background-color: black;
}

h1 {
    color: white;
    text-align: center;
}

p {
    color : white;
    font-family: verdana;
    font-size: 20px;
}
</style>
</head>
<body>

<h1>Text</h1>
<div class="img">
  <img src="rsz_damon600.png">
</div>

</body>
</html>

Используйте CSS трюк transform: translate(-50%, -50%):

img {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 675px;
   height: 418px;
   transform: translate(-50%, -50%);
}


body {
    background-color: black;
}

h1 {
    color: white;
    text-align: center;
}

p {
    color : white;
    font-family: verdana;
    font-size: 20px;
}
<style>
</style>
<body>

<h1>Text</h1>
<div class="img">
  <img src="http://www.motorverso.com/wp-content/uploads/2015/01/iNFINITI-q60-1_1280x792-675x418.jpg">
</div>

</body>

Вы можете просто сделать это так. Поместите изображение внутри элемента div. Затем установите поле для div как auto.:)

<div name="my_div"style="margin:auto;">
      <img src="" id="" />
</div>

Попробуйте изменить left:50% в left:43%, Это должно привести вас туда, где вы хотите быть.

Другие вопросы по тегам