cari
Rumahhujung hadapan webtutorial cssMengapa Menetapkan Limpahan kepada Apa-apa Tetapi 'Kelihatan' Mencipta Konteks Pemformatan Blok Baharu dalam CSS2.1?

Why Does Setting Overflow to Anything But

Mengapa CSS2.1 Mentakrifkan Nilai Limpahan Selain "Kelihatan" untuk Mewujudkan Konteks Pemformatan Blok Baharu?

Dalam CSS2.1, nilai limpahan kecuali untuk "terlihat " ditentukan untuk mewujudkan konteks pemformatan blok baharu (BFC). Ini boleh membingungkan kerana tujuan limpahan adalah untuk menyembunyikan limpahan tanpa menjejaskan reka letak.

Setelah mendalami isu ini, ternyata bahawa nilai limpahan selain daripada "kelihatan" terdiri daripada dua ciri yang kelihatan tidak berkaitan: penciptaan dan limpahan BFC bersembunyi. Walau bagaimanapun, seperti yang ditunjukkan dalam sejarah, apungan boleh melangkaui elemen induknya, justeru menyembunyikan limpahan masuk akal tanpa mengubah reka letak.

Sebab Keputusan

Rasional di sebalik ini keputusan berpunca terutamanya daripada menatal kandungan. Seperti dalam senarai mel Kumpulan Kerja CSS:

"Jika spesifikasi tidak menyatakan ini, terapung yang bersilang dengan kandungan boleh tatal memerlukan penyemak imbas untuk terus membalut semula kandungan boleh tatal (sekitar terapung yang menceroboh) semasa menatal. Ini akan menyebabkan mahal dari segi pengiraan dan memudaratkan prestasi menatal."

How It Berfungsi

Pertimbangkan senario berikut: Dua kotak ketinggian tetap dengan limpahan ditetapkan kepada "kelihatan", di mana kotak pertama mengandungi apungan yang melampaui ketinggian induk:

<div>
    <p>...</p>
</div>
<div>
    <p>...</p>
    <p>...</p>
</div>
div {
    height: 80px;
}

div:first-child:before {
    float: left;
    height: 100px;
    margin: 10px;
    content: 'Float';
}

Apabila limpahan dikekalkan sebagai "kelihatan", tiada isu kerana kandungan tidak tertakluk kepada penatalan. Walau bagaimanapun, apabila limpahan ditetapkan kepada nilai selain daripada "kelihatan", kandungan menjadi kedua-duanya dipotong mengikut sempadan kotak dan boleh ditatal. Jika kotak kedua mempunyai limpahan: auto, ia akan menyerupai ini:

[Imej dua kotak ketinggian tetap dengan limpahan: auto]

Memandangkan apungan menghalang penatalan, penyemak imbas mesti membungkus semula kandungan untuk memastikan ia kekal kelihatan. Mengulangi proses ini setiap kali kandungan mengecat semula semasa menatal boleh menjejaskan prestasi.

Ketekalan dan Tatal Tersembunyi

Satu lagi tanggapan salah yang nyata ialah bekas dengan limpahan: tersembunyi hanya menyembunyikan kandungan dan tidak boleh ditatal. Walaupun tiada antara muka pengguna untuk menatal, anda masih boleh menatal kandungan secara pemrograman dengan melaraskan sifat scrollTop. Walaupun dalam kes ini, kandungan perlu dibalut semula untuk mengelakkan kekaburan terapung.

Oleh itu, sebarang nilai limpahan selain daripada "kelihatan" menghasilkan BFC untuk tujuan ketekalan.

Perubahan dalam CSS2.1

Dalam CSS2.1, kemasukan BFC untuk limpahan nilai selain daripada "kelihatan" membawa kepada perubahan dalam cara elemen berinteraksi dengan terapung:

  • Keseluruhan kotak dengan limpahan ditolak ke tepi daripada terapung, kerana ia menghasilkan BFC yang merangkumi kandungannya.
  • Kotak dengan ketinggian: auto dan BFC akan meregang secara menegak untuk menampung terapung, bukannya hanya sesuai dengan aliran masuk mereka kandungan.

Ringkasan

Keputusan untuk memautkan penciptaan BFC kepada nilai limpahan selain daripada "kelihatan" terutamanya didorong oleh pertimbangan prestasi dan untuk memastikan konsistensi dengan pemprograman menatal. Walaupun tingkah laku yang kelihatan bercanggah, ia berfungsi untuk mengekalkan integriti reka letak dan menatal dalam senario kompleks yang melibatkan apungan.

Atas ialah kandungan terperinci Mengapa Menetapkan Limpahan kepada Apa-apa Tetapi 'Kelihatan' Mencipta Konteks Pemformatan Blok Baharu dalam CSS2.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Apakah grid CSS?Apakah grid CSS?Apr 30, 2025 pm 03:21 PM

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Apakah CSS Flexbox?Apakah CSS Flexbox?Apr 30, 2025 pm 03:20 PM

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Apr 30, 2025 pm 03:19 PM

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Apakah harta saiz kotak CSS?Apakah harta saiz kotak CSS?Apr 30, 2025 pm 03:18 PM

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Bagaimanakah kita boleh menghidupkan CSS?Bagaimanakah kita boleh menghidupkan CSS?Apr 30, 2025 pm 03:17 PM

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Apr 30, 2025 pm 03:16 PM

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Bagaimana kita boleh menambah kecerunan dalam CSS?Bagaimana kita boleh menambah kecerunan dalam CSS?Apr 30, 2025 pm 03:15 PM

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Apakah unsur-unsur pseudo dalam CSS?Apakah unsur-unsur pseudo dalam CSS?Apr 30, 2025 pm 03:14 PM

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa