Saya perlu menempatkan elemen div
(dengan position:absolute;
) di tengah jendela saya. Tetapi saya mengalami masalah dalam melakukannya, karena lebarnya tidak diketahui .
Saya mencoba ini. Tetapi perlu disesuaikan karena lebarnya responsif.
.center {
left: 50%;
bottom:5px;
}
Ada ide?
Jawaban:
sumber
position: fixed
tetapi bagaimana jika ketinggian tidak diketahui overlay, scroll bar untuk overlay harus diimplementasikan<html>
. Tetapi<html>
elemen tidak memilikiheight
spesifikasi sehingga dibutuhkan ketinggian semua konten dalam dokumen, yang bukan apa-apa karena satu-satunya konten yang diposisikan secara absolut (dikeluarkan dari aliran konten). Menambahkanheight: 100%
ke<html>
elemen membuat perbedaan untuk ini.Ini bekerja untuk saya:
sumber
width
harus ditetapkan ke nilai tertentu agar ini berfungsi.auto
dan100%
tidak akan memusatkan elemen.display: block;
Adalah sebuah keharusan.position: absolute;
BUKAN suatu keharusan. Semua nilai akan berhasil. Elemen indukposition
harus ditetapkan ke sesuatu selainstatic
. Pengaturanleft
danright
untuk0
tidak perlu.margin-left: auto; margin-right: auto;
akan melakukan pekerjaan.Solusi Responsif
Berikut adalah solusi yang baik untuk desain responsif atau dimensi yang tidak diketahui secara umum jika Anda tidak perlu mendukung IE8 dan lebih rendah.
Tampilkan cuplikan kode
Ini JS Fiddle
Petunjuknya adalah, yaitu
left: 50%
relatif terhadap induk sedangkantranslate
transformasi relatif terhadap lebar elemen / tinggi.Dengan cara ini Anda memiliki elemen berpusat sempurna, dengan lebar fleksibel pada anak dan orang tua. Bonus: ini berfungsi bahkan jika anak lebih besar dari orang tua.
Anda juga dapat memusatkannya secara vertikal dengan ini (dan sekali lagi, lebar dan tinggi orangtua dan anak dapat sepenuhnya fleksibel (dan / atau tidak diketahui)):
Ingatlah bahwa Anda mungkin perlu
transform
diawali vendor juga. Sebagai contoh-webkit-transform: translate(-50%,-50%);
sumber
webkit-
awalan seperti yang saya sarankan.transform: translate
tampaknya membuatposition: fixed
tidak dapat digunakan pada anak-anak. Jawaban yang diterima bekerja lebih baik dalam hal ini.Posting yang sangat bagus .. Hanya ingin menambahkan jika seseorang ingin melakukannya dengan tag div tunggal maka di sini jalan keluar:
Mengambil
width
sebagai900px
.Dalam hal ini orang harus tahu
width
sebelumnya.sumber
"because the width is unknown"
... ini tidak menjawab pertanyaanPusat Mutlak
HTML:
CSS:
Demo: http://jsbin.com/rexuk/2/
Diuji di Google Chrome, Firefox, dan IE8
Semoga ini membantu :)
sumber
ini berfungsi untuk vertikal dan horizontal
dan jika Anda ingin menjadikan elemen center dari parent, atur posisi relative parent
edit:
untuk perataan tengah vertikal, atur ketinggian ke elemen Anda. terima kasih kepada @Raul
jika Anda ingin menjadikan elemen center dari parent, atur posisi parent ke relative
sumber
Mencari solusi saya mendapat jawaban di atas dan bisa membuat konten terpusat dengan Matthias Weiler tetapi menggunakan perataan teks.
Bekerja dengan chrome dan Firefox.
sumber
Jika Anda perlu memusatkan secara horizontal dan vertikal juga:
sumber
** SOLUSI TANGGUNG JAWAB **
Dengan asumsi elemen dalam div, adalah div lain ...
solusi ini berfungsi dengan baik
yang kontainer dapat ukuran (harus posisi relatif)
Elemen ( div ) juga bisa ukuran apa saja (harus lebih kecil dari wadah )
Hasilnya akan terlihat seperti ini. Jalankan cuplikan kode
Saya menemukannya sangat membantu
sumber
Ini adalah campuran dari jawaban lain, yang bekerja untuk kami:
sumber
Saya mengerti pertanyaan ini sudah memiliki beberapa jawaban, tetapi saya belum pernah menemukan solusi yang akan bekerja di hampir semua kelas yang juga masuk akal dan elegan, jadi inilah pendapat saya setelah mengutak-atik banyak:
Apa yang dilakukan mengatakan memberi saya
top: 50%
danleft: 50%
, kemudian mengubah (menciptakan ruang) pada kedua X / Y sumbu ke-50%
nilai, dalam arti "menciptakan ruang cermin".Dengan demikian, ini menciptakan ruang yang sama pada semua 4 poin div, yang selalu berupa kotak (memiliki 4 sisi).
Ini akan:
sumber
translate(-50%,-50%);
?Bekerja pada lebar acak yang tidak diketahui dari elemen posisi absolut yang ingin Anda miliki di tengah elemen wadah Anda.
Demo
sumber
Flex dapat digunakan untuk memusatkan div posisi absolut.
Tampilkan cuplikan kode
sumber
display: -webkit-flex;
?Sejauh yang saya tahu, ini tidak mungkin dicapai untuk lebar yang tidak diketahui.
Anda bisa - jika itu berhasil dalam skenario Anda - benar-benar memposisikan elemen tak terlihat dengan lebar dan tinggi 100%, dan menempatkan elemen di tengah sana menggunakan margin: otomatis dan mungkin vertikal-align. Jika tidak, Anda perlu Javascript untuk melakukan itu.
sumber
Saya ingin menambahkan jawaban @ bobince:
Ditingkatkan: /// ini membuat scrollbar horizontal tidak muncul dengan elemen besar di div terpusat.
sumber
Ini adalah plugin jQuery yang berguna untuk melakukan ini. Ditemukan di sini . Saya tidak berpikir itu mungkin murni dengan CSS
sumber
Versi sass / kompas dari Solusi Responsif di atas:
sumber
transform: translate(-50%, -50%)
membuat teks dan semua konten lainnya buram pada OS X menggunakan browser webkit. keithclark.co.uk/articles/gpu-text-rendering-in-webkit-webkit-font-smoothing: antialiased;
Aku sudah mendapatkannya dari artikel yang kamu posting btw!Metode pemusatan pilihan saya:
JSFiddle di sini
sumber
Ini bekerja untuk saya:
sumber
Saya tahu saya sudah memberikan jawaban, dan jawaban saya sebelumnya, bersama dengan orang lain yang diberikan, bekerja dengan baik. Tetapi saya telah menggunakan ini di masa lalu dan berfungsi lebih baik pada browser tertentu dan dalam situasi tertentu. Jadi saya pikir saya memberikan jawaban ini juga. Saya tidak "Edit" jawaban saya sebelumnya dan menambahkannya karena saya merasa ini adalah jawaban yang sepenuhnya terpisah dan dua yang saya berikan tidak terkait.
HTML:
CSS:
sumber
sumber
HTML
CSS
http://jsfiddle.net/f51rptfy/
sumber
Solusi ini berfungsi jika elemen memiliki
width
danheight
sumber
solusi dari pertanyaan ini tidak berfungsi untuk kasus saya .. Saya sedang menulis teks untuk beberapa gambar dan saya menyelesaikannya menggunakan ini
sumber
HTML:
CSS:
Ini dan lebih banyak contoh di sini
sumber
Ini adalah trik yang saya temukan untuk mendapatkan DIV yang mengapung tepat di tengah halaman. Benar-benar jelek tentu saja, tetapi bekerja dengan baik
Dots and Dashes
Pembersih
Wow, lima tahun berlalu begitu saja, bukan?
sumber
sumber
Anda dapat menempatkan gambar dalam div dan menambahkan id id dan memiliki CSS untuk div itu a
text-align:center
HTML:
CSS:
sumber
sumber
Pendekatan sederhana yang berhasil bagi saya untuk memusatkan secara horizontal blok lebar yang tidak diketahui:
Properti perataan teks dapat ditambahkan ke #block ruleset untuk menyelaraskan kontennya secara independen dari perataan blok.
Ini berfungsi pada versi terbaru Firefox, Chrome, IE, Edge dan Safari.
sumber