Inhaltsverzeichnis
Spezifikationslücken
historische Browser -Inkonsistenzen
Lesbarkeit und Scrollenbedenken
Eine schnelle Überprüfung von Eigenschaften und Werten
Verbesserte Relevanz in modernen CSS
Praktische Anwendung: Ein reaktionsschnelles Artikel -Layout
About Patty
adressieren Sie frühere Einschränkungen
Eine erneute Perspektive auf das Multi-Säulen-Layout
Heim Web-Frontend CSS-Tutorial Überprüfung des CSS-Mehrspaltlayouts

Überprüfung des CSS-Mehrspaltlayouts

Mar 07, 2025 pm 04:58 PM

Revisiting CSS Multi-Column Layout

Fast zwei Jahrzehnte sind seit meinem ersten Buch, Transcending CSS , das damalige Multi-Säulen-Layout-Modul von Novel untersucht. Eine aktualisierte, frei verfügbare Online -Version, , die CSS -überarbeitete transzendierte, bietet eine zeitgenössische Perspektive. Mein Hintergrund im Druck hat meine anfängliche Begeisterung für diese CSS -Funktion wahrscheinlich angeheizt und ermöglicht den Spalteninhalt ohne überflüssiges Markup. Trotz seiner konsequenten Verwendung in meiner Arbeit bleibt die CSS -Säulen überraschend nicht ausreichend. Warum?

Spezifikationslücken

Mehrspalmungslayout hat seit langem signifikante Einschränkungen und weiterhin litten und weiterhin. Wie Rachel Andrew (jetzt ein Spezifikationsredakteur) vor fünf Jahren hervorgehoben hat: Direktes Styling einzelner Spaltenboxen ist nicht möglich; JavaScript -Manipulation oder Anpassungen an Hintergrund, Polsterung und Margen sind nicht verfügbar. und alle Säulen bleiben gleichmäßig groß. Nur Spaltenregeln bieten Stylingoptionen an.

Dies bleibt wahr. Das selektive Styling, wie z. B. wechselnde Hintergrundfarben mit :nth-column(), ist unmöglich. Während die Säulenregeln border-style Variationen (gestrichelt, gepunktet, fest, Rille, Kamm) ermöglichen, ist das Fehlen von border-image Unterstützung angesichts ihrer nahezu simultanen Einführung rätselhaft. Diese Unvollkommenheiten existieren, aber sie erklären die weit verbreitete Vernachlässigung dieses wertvollen Werkzeugs nicht vollständig.

historische Browser -Inkonsistenzen

ältere Browser ignorierten oft nicht unterstützte Spalteneigenschaften. Die frühzeitige Einführung des mehrspaltigen Layouts fiel jedoch mit einer Zeit zusammen, in der die Konsistenz von Kreuzbrowser für viele Entwickler kein wichtiges Problem war. Während die anfängliche Browserunterstützung inkonsistent war, insbesondere in Bezug auf Inhaltspausen, bieten moderne Browser jetzt eine weit verbreitete Kompatibilität. Die Wahrnehmung von CSS -Säulen als "gebrochen" besteht jedoch unter Entwicklern, mit denen ich gesprochen habe. Während Verbesserungen erforderlich sind, sollte dies die Verwendung seiner derzeit funktionalen Aspekte nicht behindern.

Lesbarkeit und Scrollenbedenken

Die Unterauslastung des Multi-Säulen-Layouts kann nicht auf Spezifikationsfehler oder Implementierungsprobleme, sondern auf die Herausforderungen der Benutzerfreundlichkeit zurückzuführen sein. Rachel Andrew wies korrekt auf das Potenzial für eine schlechte Lesbarkeit aufgrund einer übermäßigen vertikalen Scrollen in Langforminhalten hin. Dies ist unbestreitbar ein negatives Leseerlebnis.

sorgfältige Überlegung ist entscheidend, aber dies sollte keine Abschreckung sein. Schlechte Designentscheidungen, wie z. B. unangemessene Spalten auf große Textmengen ohne strukturelle Elemente anwenden, sind die wahren Schuldigen. Überschriften, Bilder und Zitate können Spalten effektiv überspannen und die Lesbarkeit verbessern. In Kombination mit Containerabfragen und modernen Textgrößeneinheiten gibt es kaum Grund, ein Multi-Säulen-Layout zu vermeiden.

Eine schnelle Überprüfung von Eigenschaften und Werten

Es gibt zwei primäre Methoden zum Erstellen von Spalten: Angeben des column-count oder das Definieren des column-width, damit der Browser die Spaltenzahl bestimmen lässt. Ich bevorzuge column-width, setzt eine Breite (z. B. 18REM) und lasse den Browser die Anzahl der Spalten optimieren.

Die column-gap (Gutter) steuert den Abstand zwischen den Spalten und verwendet idealerweise rem Einheiten für die Proportionalität der Textgröße. Das column-rule fügt eine visuelle Trennung mit anpassbarer Dicke und border-style hinzu. Diese einfache Syntax trägt zu ihrer Benutzerfreundlichkeit bei.

Verbesserte Relevanz in modernen CSS

Zum Zeitpunkt der Transzendierung von CSS fehlten viele moderne CSS -Merkmale: rem und Ansichtsfenster, erweiterte Selektoren wie :has(), Containerfragen, Medienfragen für reaktionsschnelles Design, calc(), clamp(), CSS -Raster und Flexbox. Diese Fortschritte verbessern die Funktionen der Mehrfachspalten-Layouts.

rem und Ansichtsfenstereinheiten, gekoppelt mit calc() und clamp(), aktivieren Sie die ansprechende Textgröße in Spalten. :has() Ermöglicht die Erstellung der bedingten Spalten basierend auf Inhalten. Containerabfragen ermöglichen die Implementierung der Spalten nur, wenn ausreichend Containerraum verfügbar ist. Integration in CSS -Gitter oder Flexbox entsperren noch kreativere Layouts.

Praktische Anwendung: Ein reaktionsschnelles Artikel -Layout

Meine Herausforderung bestand darin, ein flexibles, mediengradfreies Artikel-Layout zu erstellen, das sich an die Bildschirmgröße und das Vorhandensein/Abwesenheit eines <figure></figure> anpasste. Der Spaltentext verbessert die Lesbarkeit, wobei die Textgröße an die Containerbreite angepasst wird, nicht die Breite der Ansichtsfenster.

Das HTML ist einfach: ein <main></main> Element, das eine Überschrift und Absätze enthält, und optional ein <figure></figure>.

<main><h1 id="About-Patty">About Patty</h1>
<p>…</p></main><img  alt="Überprüfung des CSS-Mehrspaltlayouts" >
Nach dem Login kopieren

Multi-Säulen-Layoutstile werden auf <main></main> mit column-width (40Ch), max-width (100Ch) und automatischen Margen zum Zentrieren angewendet:

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

Flexbox wird nur dann auf <section></section> angewendet, wenn es ein <figure></figure>:

enthält
section:has(> figure) {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3rem;
}
Nach dem Login kopieren

min-width: min(100%, 30rem) sorgt sowohl für <main></main> als auch für <figure></figure>:

Reaktionsfähigkeit
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);
}
Nach dem Login kopieren

Dies beseitigt die Notwendigkeit von Medienfragen. Die Textgröße passt sich mit Containerabfragen (container-type: inline-size;) und clamp() für reaktionsschnelle Skalierung an:

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); }
Nach dem Login kopieren

Das Ergebnis ist ein flexibles Layout, das sich an die Bildschirmgröße und den Inhalt der Bildschirmanpassung annimmt und das Multi-Säulen-Layout effektiv verwendet.

adressieren Sie frühere Einschränkungen

Viele Artikel heben die Fehler von Multi-Säulen-Layouts hervor, insbesondere beim Scrolling-Problem. Die column-span Eigenschaft (für Überschriften, Bilder, Zitate zu Spannungsspalten) mindert dies signifikant zusammen mit sorgfältigem Inhaltsdesign, um übermäßiges Scrollen zu minimieren.

verwaste Überschriften und Zahlen werden mit break-after: column;.

behandelt

Eine erneute Perspektive auf das Multi-Säulen-Layout

Trotz seines Alters und seiner früheren Einschränkungen bleibt das mehrspalige Layout nicht ausgelastet. Während Herausforderungen bestehen, bleiben der Wert und seine Fähigkeit zur Verbesserung des Designs bestehen. Es ist Zeit für einen neuen Blick auf dieses leistungsstarke CSS -Tool.

Das obige ist der detaillierte Inhalt vonÜberprüfung des CSS-Mehrspaltlayouts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Apr 02, 2025 am 04:27 AM

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Warum werden die lila abgeschnittenen Bereiche im Flex -Layout fälschlicherweise als 'Überlaufraum' betrachtet? Warum werden die lila abgeschnittenen Bereiche im Flex -Layout fälschlicherweise als 'Überlaufraum' betrachtet? Apr 05, 2025 pm 05:51 PM

Fragen zu lila Schrägstrichen in Flex -Layouts Bei der Verwendung von Flex -Layouts können Sie auf einige verwirrende Phänomene stoßen, wie beispielsweise in den Entwicklerwerkzeugen (D ...

See all articles