cari
Rumahhujung hadapan webtutorial cssMengkaji semula susun atur multi-lajur CSS

Revisiting CSS Multi-Column Layout

Hampir dua dekad telah berlalu sejak buku pertama saya,

melampaui CSS , meneroka modul susun atur multi-novel kemudian. Versi dalam talian yang diperbaharui, bebas yang boleh didapati, melampaui CSS Revisited , menawarkan perspektif kontemporari. Latar belakang saya dalam cetakan mungkin mendorong semangat awal saya untuk ciri CSS ini, membolehkan kandungan kolumnar tanpa markup yang berlebihan. Walaupun penggunaannya yang konsisten dalam kerja saya, lajur CSS tetap mengejutkan. Kenapa?

Jurang Spesifikasi

susun atur multi-lajur telah lama menderita, dan terus mempunyai, batasan yang ketara. Sebagai Rachel Andrew (kini editor spesifikasi) diserlahkan lima tahun yang lalu: gaya langsung kotak lajur individu tidak mungkin; Manipulasi atau pelarasan JavaScript ke latar belakang, padding, dan margin tidak tersedia; dan semua lajur kekal bersaiz seragam. Hanya peraturan lajur yang menawarkan pilihan gaya.

Ini tetap benar. Gaya selektif, seperti warna latar belakang yang menggunakan

, adalah mustahil. Walaupun peraturan lajur membenarkan variasi :nth-column() (putus-putus, putus-putus, pepejal, alur, rabung), ketiadaan sokongan border-style membingungkan, memandangkan pengenalan hampir serentak mereka. Ketidaksempurnaan ini wujud, tetapi mereka tidak sepenuhnya menjelaskan pengabaian yang meluas dari alat berharga ini. border-image

Inkonsistensi penyemak imbas bersejarah

Pelayar yang lebih tua sering diabaikan sifat lajur yang tidak disokong. Walau bagaimanapun, penggunaan susun atur multi-kolumn yang awal bertepatan dengan tempoh di mana konsistensi silang pelayar bukanlah kebimbangan utama bagi banyak pemaju. Walaupun sokongan penyemak imbas awal tidak konsisten, terutamanya mengenai rehat kandungan, pelayar moden kini menawarkan keserasian yang meluas. Namun, persepsi lajur CSS sebagai "patah" berterusan di kalangan pemaju yang saya bicarakan. Walaupun penambahbaikan diperlukan, ini tidak boleh menghalang penggunaan aspek berfungsi sekarang.

kebolehbacaan dan kebimbangan menatal

Pengurangan susun atur multi-kolumn mungkin tidak berasal dari kelemahan spesifikasi atau isu pelaksanaan, tetapi dari cabaran kebolehgunaan. Rachel Andrew dengan betul menunjukkan potensi untuk kebolehbacaan yang lemah kerana menatal menegak yang berlebihan dalam kandungan bentuk panjang. Ini tidak dapat dinafikan pengalaman membaca negatif.

pertimbangan yang teliti adalah penting, tetapi ini tidak seharusnya menjadi penghalang. Pilihan reka bentuk yang lemah, seperti tidak sesuai memohon lajur untuk sejumlah besar teks tanpa unsur -unsur struktur, adalah penyebab sebenar. Tajuk, imej, dan sebut harga boleh menjangkau lajur, meningkatkan kebolehbacaan. Digabungkan dengan pertanyaan kontena dan unit saiz teks moden, ada sedikit alasan untuk mengelakkan susun atur pelbagai kolumn.

Kajian cepat sifat dan nilai

Dua kaedah utama wujud untuk membuat lajur: Menentukan column-count atau menentukan column-width, membiarkan penyemak imbas menentukan kiraan lajur. Saya lebih suka column-width, menetapkan lebar (mis., 18rem) dan membiarkan penyemak imbas mengoptimumkan bilangan lajur.

column-gap (longkang) mengawal jarak di antara lajur, dengan idealnya menggunakan unit rem untuk saiz teks yang berkadar. column-rule menambah pemisahan visual dengan ketebalan yang disesuaikan dan border-style. Sintaks mudah ini menyumbang kepada kemudahan penggunaannya.

Relevan yang dipertingkatkan dalam CSS moden

Pada masa transcending CSS , banyak ciri CSS moden tidak hadir: rem dan unit Viewport, pemilih canggih seperti :has(), pertanyaan kontena, pertanyaan media untuk reka bentuk responsif, calc(), clamp(), css grid, dan flexbox. Kemajuan ini meningkatkan keupayaan susun atur pelbagai lajur.

rem dan unit viewport, ditambah dengan calc() dan clamp(), membolehkan saiz teks responsif dalam lajur. :has() membolehkan penciptaan lajur bersyarat berdasarkan kandungan. Pertanyaan kontena membolehkan pelaksanaan lajur hanya apabila ruang kontena yang mencukupi tersedia. Integrasi dengan grid CSS atau Flexbox membuka lebih banyak susun atur kreatif.

Aplikasi Praktikal: Susun atur artikel responsif

Cabaran saya adalah mewujudkan susun atur artikel yang fleksibel dan bebas daripada media yang menyesuaikan diri dengan saiz skrin dan kehadiran/ketiadaan <figure></figure>. Teks kolumnar meningkatkan kebolehbacaan, dengan saiz teks menyesuaikan diri dengan lebar kontena, bukan lebar viewport.

HTML adalah mudah: a

yang mengandungi tajuk dan perenggan, dan secara pilihan <figure></figure>.

<main><h1 id="About-Patty">About Patty</h1>
<p>…</p></main><img  alt="Mengkaji semula susun atur multi-lajur CSS" >

Gaya susun atur multi-lajur digunakan untuk <main></main> menggunakan column-width (40ch), max-width (100ch), dan margin automatik untuk berpusat:

main {
  margin-inline: auto;
  max-width: 100ch;
  column-width: 40ch;
  column-gap: 3rem;
  column-rule: .5px solid #98838F;
}

flexbox digunakan untuk <section></section> hanya jika ia mengandungi <figure></figure>:

section:has(> figure) {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
}

min-width: min(100%, 30rem) memastikan respons untuk kedua -dua <main></main> dan <figure></figure>:

section:has(> figure) main {
  flex: 1;
  margin-inline: 0;
  min-width: min(100%, 30rem);
}

section:has(> figure) figure {
  flex: 4;
  min-width: min(100%, 30rem);
}

Ini menghapuskan keperluan untuk pertanyaan media. Saiz teks menyesuaikan diri dengan menggunakan pertanyaan kontena () dan container-type: inline-size; untuk skala responsif: clamp()

h1 { font-size: clamp(5.6526rem, 5.4068rem + 1.2288cqi, 6.3592rem); }
h2 { font-size: clamp(1.9994rem, 1.9125rem + 0.4347cqi, 2.2493rem); }
p { font-size: clamp(1rem, 0.9565rem + 0.2174cqi, 1.125rem); }
Hasilnya adalah susun atur yang fleksibel menyesuaikan diri dengan saiz skrin dan kandungan, menggunakan susun atur multi-lajur dengan berkesan.

Menangani batasan masa lalu

Banyak artikel menyerlahkan kelemahan susun atur multi-lajur, terutamanya isu-isu menatal. Harta column-span (untuk tajuk, imej, petikan ke lajur span) dengan ketara mengurangkan ini, bersama -sama dengan reka bentuk kandungan yang teliti untuk meminimumkan menatal yang berlebihan.

Tajuk dan angka yatim ditangani menggunakan break-after: column;.

Perspektif yang diperbaharui pada susun atur berbilang lajur

Walaupun umur dan batasan masa lalu, susun atur pelbagai lajur masih kurang dimanfaatkan. Walaupun cabaran wujud, nilai dan keupayaannya untuk meningkatkan reka bentuk kekal. Sudah tiba masanya untuk melihat baru alat CSS yang kuat ini.

Atas ialah kandungan terperinci Mengkaji semula susun atur multi-lajur CSS. 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
Kemas kini 'CSS4'Kemas kini 'CSS4'Apr 11, 2025 pm 12:05 PM

Sejak saya mula -mula berbunyi pada perkara CSS4¹, ada lebih banyak perbincangan di atasnya. Saya akan mengulangi pemikiran kegemaran saya dari orang lain di sini. Ada

Tiga jenis kodTiga jenis kodApr 11, 2025 pm 12:02 PM

Setiap kali saya memulakan projek baru, saya menyusun kod yang saya cari dalam tiga jenis, atau kategori jika anda suka. Dan saya fikir jenis ini boleh digunakan

HTTPS mudah!HTTPS mudah!Apr 11, 2025 am 11:51 AM

Saya ' telah bersalah secara terbuka merungut kerumitan HTTPS. Pada masa lalu, saya membeli sijil SSL dari vendor pihak ketiga dan menghadapi masalah

Panduan Atribut Data HTMLPanduan Atribut Data HTMLApr 11, 2025 am 11:50 AM

Semua yang anda ingin tahu mengenai atribut data dalam HTML, CSS, dan JavaScript.

Memahami kebolehubahan dalam JavaScriptMemahami kebolehubahan dalam JavaScriptApr 11, 2025 am 11:47 AM

Sekiranya anda tidak bekerja dengan kebolehubahan dalam JavaScript sebelum ini, anda mungkin mudah mengelirukan dengan memberikan pembolehubah kepada nilai baru, atau penugasan semula.

Input bentuk gaya tersuai dengan ciri CSS modenInput bentuk gaya tersuai dengan ciri CSS modenApr 11, 2025 am 11:45 AM

Ia mungkin sepenuhnya untuk membina kotak semak tersuai, butang radio, dan suis bertukar hari ini, sambil tetap semantik dan boleh diakses. Kami tidak memerlukan

Watak nota kakiWatak nota kakiApr 11, 2025 am 11:34 AM

Terdapat watak nombor superset khas yang kadang -kadang sesuai untuk nota kaki. Di sini mereka:

Cara membuat pemasa undur animasi dengan HTML, CSS dan JavaScriptCara membuat pemasa undur animasi dengan HTML, CSS dan JavaScriptApr 11, 2025 am 11:29 AM

Pernahkah anda memerlukan pemasa undur dalam projek? Untuk sesuatu seperti itu, mungkin semula jadi untuk mencapai plugin, tetapi sebenarnya lebih banyak lagi

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)