Apabila kami mereka bentuk halaman, kami selalunya perlu memusatkan DIV dan memaparkannya secara mendatar dan menegak berbanding tetingkap halaman, seperti memusatkan tetingkap log masuk.
Setakat ini, banyak kaedah telah diterokai.
HTML:
Kod XML/HTMLSalin kandungan ke papan keratan
- <badan>
-
<div kelas="maxbox" >
-
<div kelas="menjajarkan kotak min -center">div>
-
div>
-
badan>
-
Perenderan (kaedah berikut mempunyai pemaparan yang sama):
Jenis pertama: kedudukan mutlak CSS
Terutamanya gunakan kedudukan mutlak, dan kemudian gunakan margin untuk melaraskan ke kedudukan tengah.
Unsur induk:
Kod CSSSalin kandungan ke papan keratan
- .maxbox{
-
kedudukan: saudara;
-
lebar: 500px
-
tinggi: 500px
-
margin: 5px;
bayang-bayang kotak:
1px-
1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
-
-
Unsur kanak-kanak:
Kod CSS
Salin kandungan ke papan keratan
.kotak min{
- lebar
: -
200px
tinggi
: -
200px
bayang kotak: 1px
-
1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
Penjajaran tengah mendatar dan menegak:
Kod CSSSalin kandungan ke papan keratan
- .align-pusat{
-
kedudukan: mutlak;
-
kiri: 50%;
-
atas: 50%;
margin-kiri-
: -100px; /*lebar/-2* /
margin-atas-
: -100px; /*tinggi/-2* / }
-
Jenis kedua: CSS kedudukan mutlak Javascript/JQuery
Terutamanya gunakan kedudukan mutlak, dan kemudian gunakan Javascript/JQuery untuk menyesuaikan diri dengan kedudukan tengah. Berbanding dengan kaedah pertama, kaedah ini meningkatkan fleksibiliti kelas.
Unsur induk:
Kod CSS
Salin kandungan ke papan keratan
.maxbox{
-
kedudukan-
: saudara;
lebar
: -
500px
tinggi
: -
500px
margin
: -
5px;
bayang kotak: 1px
1px-
1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
-
Unsur kanak-kanak:
- Kod CSS
Salin kandungan ke papan keratan
.kotak min{
lebar- : 200px
-
tinggi: 200px
-
bayang kotak: 1px 1px
-
1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
Penjajaran tengah mendatar dan menegak:
Kod CSS- Salin kandungan ke papan keratan
- .align-pusat{
-
kedudukan: mutlak;
-
kiri: 50%;
-
atas: 50%;
}
-
-
JQuery:
Kod JavaScript
Salin kandungan ke papan keratan
$(
- fungsi(){
$(
".align-center"-
).css(
- "margin-kiri"
: ($(-
".align-center").width() /-2),
"margin-top"
: ($(-
".align-center").height() /-2)
);
- });
-
-
- Jenis ketiga: anjakan kedudukan mutlak CSS3
Menggunakan kedudukan mutlak dan perubahan CSS3: terjemah juga boleh mencapai kesan yang sama.
Unsur induk:
Kod CSS
Salin kandungan ke papan keratan
.maxbox{
- kedudukan:
saudara-
;
lebar: 500px
-
tinggi: 500px
-
margin: 5px
;
-
bayang kotak: 1px 1px
1px-
rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
Unsur kanak-kanak:
- Kod CSS
Salin kandungan ke papan keratan
- .kotak min{
-
lebar: 200px
-
tinggi: 200px
-
bayang kotak: 1px 1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
} -
-
Penjajaran tengah mendatar dan menegak:
Kod CSS
Salin kandungan ke papan keratan
- .align-pusat{
-
kedudukan: mutlak;
atas-
: 50%;
kiri
: 50%; -
-webkit-transform: terjemah(-50%, -50%);
-moz-transform: terjemah(-50%, -50%);
ubah: terjemah(-50%, -50%); - /*Anjakan ke kiri dan ke atas*/
-
} -
-
Jenis keempat: Flexbox: [Model kotak susun atur teleskopik]
-
Membuat elemen mendatar dan menegak terlalu mudah dengan model Flexbox.
Anda perlu menukar HTML di sini:
Kod XML/HTMLSalin kandungan ke papan keratan
<div
kelas
- ="maxbox align-center" >
<div
kelas- ="kotak min" >div>
div>
-
Unsur induk:
- Kod CSS
Salin kandungan ke papan keratan
- .maxbox{
-
kedudukan: saudara;
-
lebar: 500px
-
tinggi: 500px
-
margin: 5px;
bayang kotak:
1px-
1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
}
-
-
Unsur kanak-kanak:
Kod C#
Salin kandungan ke papan keratan
.kotak min{
- lebar: 200px;
tinggi: 200px;
- bayang kotak: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
} -
-
Penjajaran tengah mendatar dan menegak:
- Kod CSS
Salin kandungan ke papan keratan
.align-pusat{
- paparan: flex;
-
paparan: -webkit-flex;
membenarkan-
-kandungan: ; >
- align-item: tengah;
}
Perbandingan beberapa kaedah:
- Pelarasan margin kedudukan mutlak CSS yang pertama mempunyai keserasian yang baik tetapi tidak mempunyai fleksibiliti. Jika terdapat banyak kotak yang perlu dipusatkan secara mendatar dan menegak, .align-center yang berbeza perlu ditulis kerana lebar dan ketinggiannya yang berbeza. Yang kedua menggunakan bahasa skrip, yang mempunyai keserasian yang baik dan menebus kekurangan yang pertama. Kesan pemusatan mendatar dan menegak tidak akan terjejas oleh perubahan dalam lebar dan ketinggian. Yang ketiga menggunakan beberapa sifat baharu CSS3 dan serasi dengan IE10, Chrome, Firefox dan Opera. Keserasian tidak begitu baik, dan kesan pemusatan mendatar dan menegak tidak akan terjejas oleh perubahan dalam lebar dan ketinggian. Menggunakan model Flexbox, serasi dengan Firefox, Opera dan Chrome, IE dipadamkan sepenuhnya. Ia juga tidak menjejaskan kesan pemusatan mendatar dan menegak kerana perubahan dalam lebar dan ketinggian.
Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.