Saya ingin menempatkan elemen <div>
(atau a <table>
) di tengah layar terlepas dari ukuran layar. Dengan kata lain, ruang kiri di 'atas' dan 'bawah' harus sama dan ruang kiri di sisi 'kanan' dan 'kiri' harus sama. Saya ingin menyelesaikan ini hanya dengan CSS.
Saya sudah mencoba yang berikut tetapi tidak berhasil:
<body>
<div style="top:0px; border:1px solid red;">
<table border="1" align="center">
<tr height="100%">
<td height="100%" width="100%" valign="middle" align="center">
We are launching soon!
</td>
</tr>
</table>
</div>
</body>
Catatan:
Baik-baik saja jika <div>
elemen (atau <table>
) bergulir dengan situs web atau tidak. Hanya ingin berada di tengah saat halaman dimuat.
javascript
css
html
sumit
sumber
sumber
Jawaban:
Cara mudah, jika Anda memiliki lebar dan tinggi tetap:
Tolong jangan gunakan gaya sebaris! Berikut ini adalah contoh kerja http://jsfiddle.net/S5bKq/ .
sumber
Dengan transformasi yang semakin didukung di mana-mana hari ini, Anda dapat melakukan ini tanpa mengetahui lebar / tinggi sembulan
Mudah! JSFiddle di sini: http://jsfiddle.net/LgSZV/
Pembaruan: Lihat https://css-tricks.com/centering-css-complete-guide/ untuk panduan yang cukup lengkap tentang pemusatan CSS. Menambahkannya ke jawaban ini karena sepertinya mendapatkan banyak bola mata.
sumber
overflow:auto
, menggulirkan kacau di IE9. :(Atur lebar dan tingginya dan Anda baik-baik saja.
Jika Anda ingin dimensi elemen fleksibel (dan tidak peduli dengan browser lawas), ikuti jawaban XwipeoutX .
sumber
Ini akan bekerja untuk objek apa pun. Bahkan jika Anda tidak tahu ukurannya:
sumber
Sekarang, lebih mudah dengan HTML 5 dan CSS 3:
sumber
Jika Anda memiliki posisi tetap
div
hanya absolut itu di 50% dari atas dan 50% kiri dan margin negatif atas dan kiri masing-masing setengah tinggi dan lebar. Sesuaikan dengan kebutuhan Anda:sumber
Gunakan fleksibel . Jauh lebih sederhana dan akan berfungsi terlepas dari
div
ukuran Anda :sumber
Saya akan melakukan ini dalam CSS:
lalu dalam HTML:
sumber
coba ini
Atau ini
sumber
Jika ada orang yang mencari solusi,
Aku menemukan ini,
Ini solusi terbaik yang saya temukan!
http://dabblet.com/gist/2872671
Semoga kamu menikmati!
sumber
Pendekatan fleksibel lain yang mudah untuk menampilkan blok di tengah: menggunakan penyelarasan teks asli dengan
line-height
dantext-align
.Larutan:
Dan contoh html:
Kami membuat
div.parent
layar penuh, dan anak tunggalnyadiv.child
sejajar dengan teksdisplay: inline-block
.Keuntungan:
Contoh sederhana tentang JSFiddle: https://jsfiddle.net/k9u6ma8g
sumber
Solusi alternatif yang tidak menggunakan posisi absolut:
Saya melihat banyak posisi jawaban absolut. Saya tidak dapat menggunakan posisi absolut tanpa merusak sesuatu yang lain. Jadi bagi mereka yang tidak bisa juga, inilah yang saya lakukan:
https://stackoverflow.com/a/58622840/6546317 (diposting sebagai tanggapan atas pertanyaan lain).
Solusinya hanya berfokus pada pemusatan vertikal karena elemen anak-anak saya sudah terpusat secara horizontal tetapi hal yang sama dapat diterapkan jika Anda tidak dapat memusatkannya secara horizontal dengan cara lain.
sumber
coba ini:
sumber