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 blockelemen 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-leftdan setengah lainnya ke margin-right.
margin:automemusatkan item dalam aliran. ( display:blockatau display:table, position:staticatau position:relative, dll.)
0px automenjadi hanya autoitu 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 lefttidak 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 relativeatau staticpemosisian.
margin: 0 autobekerja dengan baik pada elemen yang diposisikan secara relatif selama mereka adalah elemen blok tanpa float dan lebar yang ditentukan ...
floatdan displaydapat 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:blockelemen
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/