Почему не margin: auto center Изображение?


<html>
<head>
<title>Test</title>
</head>
<body>
    <div>
        <img src="queuedError.jpg" style="margin:auto; width:200px;" />
    </div>
</body>
</html>

The div расширяется до 100%, как и должно, но изображение не центрируется. Зачем?

8 82

8 ответов:

потому что ваш образ-это инлайн-блочный элемент. Вы можете изменить его на элемент уровня блока такой:

<img src="queuedError.jpg" style="margin:auto; width:200px;display:block" />

и он будет по центру.

вы должны отобразить его как уровень блока;

img {
   display: block;
   width: auto;
   margin: auto;
}

добавить style="text-align:center;"

попробовать ниже код

<html>
<head>
<title>Test</title>
</head>
<body>
    <div style="text-align:center;vertical-align:middle;">
        <img src="queuedError.jpg" style="margin:auto; width:200px;" />
    </div>
</body>
</html>

Я знаю, что это старый пост, но хотел поделиться, как я решил ту же проблему.

мое изображение наследует float: left от родительского класса. Установив float:none я смог сделать margin: 0 auto и display: block работать правильно. Надеюсь, что это может помочь кому-то в будущем.

Я обнаружил, что я должен определить конкретную ширину для объекта, и ничто другое не сделает его центром. Относительная ширина не работает.

открыть поставить

style="width:100% ; margin:0px auto;" 

image тег (или) содержание

закрыть div

<div style="text-align:center;">
    <img src="queuedError.jpg" style="margin:auto; width:200px;" />
</div>

Я нашел... маржа: 0 авто; работает для меня. Но я также видел, что это не работает из-за того, что класс превзошел другую специфику, которая была ... поплавок:слева; так что следите за тем, что вам может понадобиться добавить ... float: нет; это сработало в моем случае, когда я кодировал медиа-запрос.