Mengapakah menukar saiz fon elemen kanak-kanak menyebabkan bekas fleksibel menyimpang daripada kedudukan asalnya?
P粉186897465
P粉186897465 2023-07-23 15:17:08
0
2
531

Masalah ini sangat pelik, ia berkelakuan berbeza pada bekas biasa dan kotak fleksibel.

Tukar saiz fon elemen anak pertama:

  • Untuk bekas biasa, kenapa ketinggian bekas berubah?
  • Untuk kotak anjal, kenapa ia menyebabkan kotak anjal bergerak ke bawah atau ke atas pada jarak tertentu?

Bagaimana saya boleh menyelesaikan masalah ini? Saya mahu flexbox tidak bergerak.

Sepatutnya, ini hanya berlaku apabila menukar saiz fon elemen anak pertama. Menukar saiz fon elemen anak kedua tidak penting... kenapa?


* { margin: 0; padding: 0; box-sizing: border-box; } body { background: #121212; color: #fff; font-size: 20px; } .container { line-height: 48px; font-size: 36px; border: 1px solid #f90; } .first { color: #ffe47e; animation: change1 3s linear infinite; } @keyframes change1 { 0%, 100% { font-size: 0.1em; } 50% { font-size: 1em; } } @keyframes change2 { 0%, 100% { font-size: 0.1em; } 50% { font-size: 2em; } } .c2 { display: inline-flex; column-gap: 5px; } .c2 .first { font-size: 0.5em; animation: change2 3s linear infinite; } .c3 .first { font-size: 0.5em; animation: none; }
first Second
Second This doesn't matter
(flexbox) How to make the first flex container align with the second one?
(flexbox) Animation illustration
first Second
Second This doesn't matter
(normal container) Animation illustration - Why is height changing?
first Second


P粉186897465
P粉186897465

membalas semua (2)
P粉518799557

Andaikan teks pertama anda mempunyai saiz fon 50px dan teks kedua anda mempunyai saiz fon 0px dan anda ingin menukar saiz fon. Pada ketika ini, ketinggian kandungan ialah 50px. Di tengah-tengah animasi, saiz fon kedua-dua teks berubah kepada 25px, jadi ketinggian kandungan juga berubah kepada 25px. Pada penghujung animasi anda sekali lagi mempunyai saiz fon 50px dan 0px, jadi ketinggian kandungan ialah 50px.

Ketinggian div akan dilaraskan mengikut ketinggian kandungan.

    P粉378890106

    Sila jangan tanya berbilang soalan dalam soalan yang sama.

    Soalan pertama tentang bekas "biasa" (iaitu tahap blok) telah diduplikasi. Masalah membuat perenggan lebih besar dengan tag telah dibincangkan secara terperinci.

    Untuk bekas flex, ini ditentukan oleh cara bekas flex menentukan garis dasarnya. Spesifikasi yang berkaitan dinyatakan di bawah:

    Penjajaran lalai item flex ialah "regangan", yang bermaksud item flex tidak mengambil bahagian dalam penjajaran garis dasar, jadi titik pertama tidak terpakai.

    Mata kedua terpakai, bermakna item lentur pertama setiap bekas lentur menyediakan garis dasar yang akan diselaraskan dengan bekas lentur individu.

    Cara standard untuk menangani masalah ini adalah dengan mengalihkan elemen bekas sebaris-flex atau blok sebaris dari garis dasar dengan menetapkan vertical-align:top padanya.

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!