javascript - css mengawal div untuk sentiasa dipusatkan secara mendatar dan menegak, dan saiz div ini berbeza
欧阳克2017-06-26 10:52:35
0
10
1168
Kawalan css menambah p dengan nama kelas bersatu Saya mahu ia dipaparkan secara mendatar dan menegak di tengah Walau bagaimanapun, saiz p adalah berbeza, jadi adakah pelajar lain mempunyai idea yang baik.
Salah satunya ialah menggunakan susun atur fleksibel untuk memusatkan elemen kanak-kanak secara mendatar dan menegak; .flex { paparan: flex; align-item: center; justify-content: center; }
Anda boleh menggunakan susun atur elastik di atas, tetapi ia tidak menyokong pelayar peringkat rendah Anda boleh menggunakan kedudukan mutlak untuk memusatkan p secara menegak dan mendatar
Pelbagai lapisan anjal? Pelbagai pengiraan? Memusatkan kiri dan kanan adalah mudah, hanya
margin:0 auto; baik, tetapi naik dan turun sedikit lebih menyusahkan. Walaupun ia menyusahkan dalam banyak cara
1 Berdasarkan js, ini agak menyusahkan, jadi saya tidak akan menjelaskannya secara terperinci
2, disable:table Ini memerlukan kerjasama dua DOM. Keserasian utama juga adalah sederhana
3 Gunakan transfrom Jika anda tidak mempertimbangkan keserasian dan tidak mengetahui ketinggian, ia amat disyorkan. Kaedah anggaran adalah seperti berikut:
.dom{
Tentukan sendiri lebar
kedudukan: mutlak; ubah: terjemah(-50%, -50%); kiri: 50%; atas: 50%; } Saya tahu lebarnya, tetapi saya tidak tahu betapa tingginya saya mengesyorkan ini
4 Jika anda tahu lebar dan tinggi, anda tidak memerlukan yang di atas, kerana yang ini serasi gila
.dom{
Tentukan sendiri lebar dan tinggi
kedudukan: mutlak;
jidar: auto; atas:0; kanan: 0; bawah:0; kiri: 0; } 5, reka letak lentur, sebagai tambahan kepada keserasian, Semua yang lain baik-baik saja.
} 6 Jika anda mempertimbangkan keserasian ====> sila semak item pertama. [Berapa umur itu? Masih mempertimbangkan IE789, sokongan IE7 DOM1 utama tidak begitu baik, jadi. . . 】
7, tiada yang lain. Yang di atas sudah pasti cukup. Jika ada yang bagus, sila tambahkan
Mengguna pakai display: table elemen berpusat reka letak, menyokong lebar dan ketinggian yang tidak tentu, dan serasi dengan IE8+ dan pelayar moden yang lain:
:before Pseudo-element mengembangkan ketinggian garisan (kaedah yang digunakan oleh AmazeUI dalam komponen modal, dan menyokong lebar dan ketinggian yang tidak pasti, IE8+):
lentur susun atur
Salah satunya ialah menggunakan susun atur fleksibel untuk memusatkan elemen kanak-kanak secara mendatar dan menegak;
.flex {
paparan: flex;
align-item: center;
justify-content: center;
}
.satu {
kedudukan: mutlak;
kiri: 50%;
atas: 50%;
transformasi: terjemah(-50%, -50%);
}
Portal
Pemusatan menegak:
kaedah susun atur jadual, kaedah blok sebaris
kaedah kedudukan mutlak
pemusatan viewport
penyelesaian berasaskan flexbox
Soalan biasa, seseorang di luar negara telah menyelesaikan pemusatan menegak dalam pelbagai situasi: https://css-tricks.com/center...
Kami juga menjana kod terus untuk anda dan mempertimbangkan sama ada ia serasi dengan IE: http://howtocenterincss.com/
Anda juga boleh menyemak versi terjemahan: https://github.com/chenjsh36/...
Selepas membaca ini, saya tidak perlu risau lagi tentang pelbagai masalah vertical centering 23333
Tambahkan display:flex,align-item:center pada elemen induk
Anda boleh menggunakan susun atur elastik di atas, tetapi ia tidak menyokong pelayar peringkat rendah
Anda boleh menggunakan kedudukan mutlak untuk memusatkan p secara menegak dan mendatar
susun atur fleksibel juga disyorkan
Pelbagai lapisan anjal? Pelbagai pengiraan? Memusatkan kiri dan kanan adalah mudah, hanya
margin:0 auto;
baik, tetapi naik dan turun sedikit lebih menyusahkan. Walaupun ia menyusahkan dalam banyak cara
1 Berdasarkan js, ini agak menyusahkan, jadi saya tidak akan menjelaskannya secara terperinci
2, disable:table Ini memerlukan kerjasama dua DOM. Keserasian utama juga adalah sederhana3 Gunakan transfrom Jika anda tidak mempertimbangkan keserasian dan tidak mengetahui ketinggian, ia amat disyorkan. Kaedah anggaran adalah seperti berikut:
.dom{
Tentukan sendiri lebarkedudukan: mutlak;
.dom{ubah: terjemah(-50%, -50%);
kiri: 50%;
atas: 50%;
}
Saya tahu lebarnya, tetapi saya tidak tahu betapa tingginya saya mengesyorkan ini
4 Jika anda tahu lebar dan tinggi, anda tidak memerlukan yang di atas, kerana yang ini serasi gila
Tentukan sendiri lebar dan tinggi
kedudukan: mutlak;jidar: auto;
</p>atas:0;
kanan: 0;
bawah:0;
kiri: 0;
}
5, reka letak lentur, sebagai tambahan kepada keserasian, Semua yang lain baik-baik saja.
<p class="topeng">
.topeng{
}
.mask-con{
}
7, tiada yang lain. Yang di atas sudah pasti cukup. Jika ada yang bagus, sila tambahkan6 Jika anda mempertimbangkan keserasian ====> sila semak item pertama. [Berapa umur itu? Masih mempertimbangkan IE789, sokongan IE7 DOM1 utama tidak begitu baik, jadi. . . 】
Unsur induk
Unsur kanak-kanak
Tambah tiga lagi kaedah.
Pusat elemen dengan lebar dan ketinggian yang diketahui menggunakan kedudukan mutlak atau tetap:
Mengguna pakai
display: table
elemen berpusat reka letak, menyokong lebar dan ketinggian yang tidak tentu, dan serasi dengan IE8+ dan pelayar moden yang lain::before
Pseudo-element mengembangkan ketinggian garisan (kaedah yang digunakan oleh AmazeUI dalam komponen modal, dan menyokong lebar dan ketinggian yang tidak pasti, IE8+):