Dalam contoh ini gambar tidak berada di tengah. Mengapa? Browser saya adalah Google Chrome v10 di windows 7, bukan IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
Dalam contoh ini gambar tidak berada di tengah. Mengapa? Browser saya adalah Google Chrome v10 di windows 7, bukan IE.
<img src="/img/logo.png" style="margin:0px auto;"/>
Jawaban:
tambahkan display:block;
dan itu akan berhasil. Gambar sebaris secara default
Untuk memperjelas, lebar default untuk block
elemen adalah auto
, yang tentu saja mengisi seluruh lebar yang tersedia dari elemen penampung.
Dengan mengatur margin ke auto
, browser menetapkan setengah dari sisa ruang ke margin-left
dan setengah lainnya ke margin-right
.
margin:auto
memusatkan item dalam aliran. ( display:block
atau display:table
, position:static
atau position:relative
, dll.)
0px auto
menjadi hanya auto
itu masih tidak berfungsi.
Dalam keadaan tertentu (seperti versi sebelumnya dari IE, Gecko, WebKit) dan warisan, unsur dengan position:relative;
akan mencegah margin:0 auto;
dari bekerja, bahkan jika top
, right
, bottom
, dan left
tidak diatur.
Menyetel elemen ke position:static;
(default) dapat memperbaikinya dalam keadaan ini. Umumnya, elemen level blok dengan lebar yang ditentukan akan menghormati margin:0 auto;
penggunaan salah satu relative
atau static
pemosisian.
margin: 0 auto
bekerja dengan baik pada elemen yang diposisikan secara relatif selama mereka adalah elemen blok tanpa float dan lebar yang ditentukan ...
float
dan display
dapat mengubah perilaku itu.
Anda dapat memusatkan div lebar otomatis menggunakan display:table;
div{
margin: 0px auto;
float: none;
display: table;
}
Dalam kasus saya, masalahnya adalah saya telah mengatur lebar min dan maks tanpa lebar itu sendiri.
position:static
, memiliki width:
set tetap dan menjadi display:block
elemen
Setiap kali kita tidak menambah lebar dan menambah margin:auto
, saya kira itu tidak akan berhasil. Ini dari pengalaman saya. Lebar memberi gagasan di mana tepatnya ia perlu memberikan margin yang sama.
ada alternatif untuk margin-left:auto; margin-right: auto;
atau margin:0 auto;
untuk yang menggunakan position:absolute;
ini adalah caranya:
Anda mengatur posisi kiri elemen menjadi 50% ( left:50%;
) tetapi itu tidak akan memusatkannya dengan benar agar elemen berada di tengah dengan benar Anda perlu memberinya a margin minus setengah lebarnya, yang akan memusatkan elemen Anda dengan sempurna
berikut ini contohnya: http://jsfiddle.net/35ERq/3/