У цьому прикладі зображення не по центру. Чому? Мій браузер - Google Chrome v10 на Windows 7, а не IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
У цьому прикладі зображення не по центру. Чому? Мій браузер - Google Chrome v10 на Windows 7, а не IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
Відповіді:
додайте, display:block;і воно працюватиме. Зображення за замовчуванням є вбудованими
Для уточнення ширина за замовчуванням для blockелемента є auto, що, звичайно, заповнює всю наявну ширину елемента, що містить.
Встановивши маржу на auto, браузер призначає половину решти місця, margin-leftа іншу половину - margin-right.
margin:autoцентрування елемента в потоці. ( display:blockабо display:table, position:staticабо position:relativeтощо)
0px autoна просто, autoвін все ще не працює.
У деяких випадках (наприклад, більш ранніх версіях IE, Gecko, Webkit) і наслідування, елементи з position:relative;завадять margin:0 auto;працювати, навіть якщо top, right, bottomі leftне встановлені.
Встановлення елемента position:static;(за замовчуванням) може виправити його за цих обставин. Як правило, елементи рівня блоку із заданою шириною будуть дотримуватися margin:0 auto;використання relativeабо staticпозиціонування.
margin: 0 autoпрацює чудово на відносно розташованих елементах, якщо вони блокові елементи без поплавця та заданої ширини ...
floatі displayможуть змінити таку поведінку.
Ви можете відцентрувати автоматичну поділку ширини за допомогою display:table;
div{
margin: 0px auto;
float: none;
display: table;
}
У моєму випадку проблема полягала в тому, що я встановив min і max width без самої ширини .
position:static, мати фіксований width:набір і бути display:blockелементом
Щоразу, коли ми не додаємо ширину та додаємо margin:auto, я думаю, це не спрацює. Це з мого досвіду. Ширина дає уявлення про те, де саме потрібно забезпечити рівні запаси.
є альтернатива margin-left:auto; margin-right: auto;або margin:0 auto;для тих, хто використовує position:absolute;ось що:
ви встановите ліве положення елемента на 50% ( left:50%;), але це не буде правильно його центрувати для того, щоб елемент був центрирован правильно, вам потрібно надати його запас мінус половини його ширини, який ідеально центрирует ваш елемент
ось приклад: http://jsfiddle.net/35ERq/3/