Apa yang auto
dilakukan margin:0 auto;
?
Sepertinya saya tidak mengerti apa yang auto
dilakukannya. Saya tahu itu terkadang memiliki efek pemusatan objek. Terima kasih.
Ketika Anda telah menentukan sebuah width
pada objek yang telah Anda terapkan margin: 0 auto
, objek tersebut akan berada di tengah dalam wadah induknya.
Menentukan auto
sebagai parameter kedua pada dasarnya memberi tahu browser untuk secara otomatis menentukan margin kiri dan kanan itu sendiri, yang dilakukan dengan mengaturnya secara merata. Ini menjamin bahwa margin kiri dan kanan akan diatur ke ukuran yang sama. Parameter pertama 0 menunjukkan bahwa margin atas dan bawah keduanya akan disetel ke 0.
margin-top:0;
margin-bottom:0;
margin-left:auto;
margin-right:auto;
Oleh karena itu, sebagai contoh , jika induknya 100px dan anaknya adalah 50px, maka auto
properti akan menentukan bahwa ada 50px ruang kosong untuk dibagikan antara margin-left
dan margin-right
:
var freeSpace = 100 - 50;
var equalShare = freeSpace / 2;
Yang akan memberi:
margin-left:25;
margin-right:25;
Lihat jsFiddle ini . Anda tidak harus menentukan lebar induk, hanya lebar objek anak.
body
dan kami selalu memberiwidth
danmargin:0 auto
kepada#wrapper
%
? Maksud saya apakah ada properti lain di css yang dapat memberikan hasil yang sama seperti kiri dan kananauto
margin:auto 0
kondisi?auto: Browser menyetel margin. Hasil dari ini bergantung pada browser
margin: 0 otomatis menentukan
sumber
Dari spesifikasi CSS pada Menghitung lebar dan margin untuk level Blok, elemen yang tidak diganti dalam aliran normal :
sumber
0
untuk atas-bawah danauto
untuk kiri-kanan. Artinya margin kiri dan kanan akan mengambil margin otomatis sesuai dengan lebar elemen dan lebar wadah.Umumnya jika Anda ingin meletakkan elemen apa pun di posisi tengah maka
margin:auto
berfungsi dengan sempurna. Tapi itu hanya bekerja di elemen blok.sumber
0 untuk atas-bawah dan otomatis untuk kiri-kanan. Browser mengatur margin.
sumber
Ini menjadi lebih jelas dengan beberapa penjelasan tentang bagaimana kedua nilai tersebut bekerja.
Properti margin adalah singkatan dari:
Jadi kenapa hanya dua nilai?
Nah, Anda bisa mengekspresikan margin dengan empat nilai seperti ini:
yang berarti 10px atas, 20px kanan, 15px bawah, 5px kiri
Demikian juga Anda juga bisa mengekspresikan dengan dua nilai seperti ini:
Ini akan memberi Anda margin 20px atas dan bawah dan 10px kiri dan kanan.
Dan jika Anda mengatur:
Maka itu berarti margin atas dan bawah 20px dan margin kiri dan kanan otomatis. Dan otomatis berarti margin kiri / kanan diatur secara otomatis berdasarkan wadah. Jika elemen Anda adalah elemen tipe blok, artinya itu adalah kotak dan menempati seluruh lebar tampilan, maka otomatis menyetel margin kiri dan kanan yang sama dan karenanya elemen tersebut dipusatkan.
sumber
Ini rusak / sangat sulit untuk digunakan sebagai pengganti tag "tengah". Ini sangat berguna ketika Anda membutuhkan tabel yang rusak dan pemusatan yang tidak berfungsi untuk blok dan teks.
sumber