Rumah  >  Artikel  >  hujung hadapan web  >  Perbincangan mengenai pemusatan mendatar dan menegak elemen dalam HTML_HTML/Xhtml_Webpage Production

Perbincangan mengenai pemusatan mendatar dan menegak elemen dalam HTML_HTML/Xhtml_Webpage Production

WBOY
WBOYasal
2016-05-16 16:36:042151semak imbas

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
  1. <badan>
  2.  <div kelas="maxbox" >
  3.  <div kelas="menjajarkan kotak min -center">div>
  4.  div> 
  5. 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
  1. .maxbox{
  2. kedudukan: saudara;
  3. lebar: 500px
  4. tinggi: 500px
  5. margin: 5px; bayang-bayang kotak:
  6. 1px
  7. 1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }
  8. Unsur kanak-kanak:
Kod CSS

Salin kandungan ke papan keratan

.kotak min{
  1. lebar
  2. :
  3. 200px tinggi
  4. :
  5. 200px bayang kotak: 1px
  6. 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
    1. .align-pusat{
    2. kedudukan: mutlak;
    3. kiri: 50%;
    4. atas: 50%;  
    5. margin-kiri
    6. : -100px/*lebar/-2* /  
    7. margin-atas
    8. : -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{
    1. kedudukan
    2. : saudara; lebar
    3. :
    4. 500px tinggi
    5. :
    6. 500px margin
    7. :
    8. 5px; bayang kotak: 1px
    9. 1px
    10. 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }
    11. Unsur kanak-kanak:
    12. Kod CSS
    13. Salin kandungan ke papan keratan

    .kotak min{
      lebar
    1. : 200px
    2. tinggi: 200px
    3. bayang kotak: 1px 1px
    4. 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); } Penjajaran tengah mendatar dan menegak:
    5. Kod CSS
    6. Salin kandungan ke papan keratan
      1. .align-pusat{
      2. kedudukan: mutlak;
      3. kiri: 50%;
      4. atas: 50%; }
      5. JQuery:

    Kod JavaScript

    Salin kandungan ke papan keratan
    $(
    1. fungsi(){ $(
    2. ".align-center"
    3. ).css(                                             
    4.  
    5. "margin-kiri"
    6. : ($(
    7. ".align-center").width() /-2),  "margin-top"
    8. : ($(
    9. ".align-center").height() /-2)                                                                 );
    10. });
    11. Jenis ketiga: anjakan kedudukan mutlak CSS3
    12. Menggunakan kedudukan mutlak dan perubahan CSS3: terjemah juga boleh mencapai kesan yang sama.
    Unsur induk:

    Kod CSS

    Salin kandungan ke papan keratan

    .maxbox{
    1. kedudukan:
    2. saudara
    3. ; lebar: 500px
    4. tinggi: 500px
    5. margin: 5px
    6. ;
    7. bayang kotak: 1px 1px
    8. 1px
    9. rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); } Unsur kanak-kanak:
    10. Kod CSS
    11. Salin kandungan ke papan keratan
      1. .kotak min{
      2. lebar: 200px
      3. tinggi: 200px
      4. bayang kotak: 1px 1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
      5. }
      Penjajaran tengah mendatar dan menegak:

    Kod CSS
    Salin kandungan ke papan keratan
    1. .align-pusat{
    2. kedudukan: mutlak;
    3. atas
    4. : 50%; kiri
    5. : 50%;
    6. -webkit-transform: terjemah(-50%, -50%); -moz-transform: terjemah(-50%, -50%);
    7. ubah: terjemah(-50%, -50%);
    8. /*Anjakan ke kiri dan ke atas*/
    9. }
    10. Jenis keempat: Flexbox: [Model kotak susun atur teleskopik]
    11. Membuat elemen mendatar dan menegak terlalu mudah dengan model Flexbox.
    12. Anda perlu menukar HTML di sini:

    Kod XML/HTMLSalin kandungan ke papan keratan

    <div
    kelas
    1. ="maxbox align-center" >  <div
    2. kelas
    3. ="kotak min" >div> div>
    4. Unsur induk:
    5. Kod CSS
    6. Salin kandungan ke papan keratan
    1. .maxbox{
    2. kedudukan: saudara;
    3. lebar: 500px
    4. tinggi: 500px
    5. margin: 5px; bayang kotak:
    6. 1px
    7. 1px 1px rgba (0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8); }
    8. Unsur kanak-kanak:
    Kod C#

    Salin kandungan ke papan keratan

    .kotak min{
    1. lebar: 200px; tinggi: 200px;
    2. bayang kotak: 1px 1px 1px rgba(0, 0, 0, 0.8), -1px -1px 1px rgba(0, 0, 0, 0.8);
    3. }
    4. Penjajaran tengah mendatar dan menegak:
    5. Kod CSS
    6. Salin kandungan ke papan keratan

    .align-pusat{
    1. paparan: flex;
    2. paparan: -webkit-flex;  
    3. membenarkan
    4. -kandungan: pusat; >
    5. align-item: tengah; } Perbandingan beberapa kaedah:
    6. 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.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn