suchen
HeimWeb-FrontendCSS-TutorialÜberprüfung des CSS-Mehrspaltlayouts

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" >

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;
}

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;
}

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);
}

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); }

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!

Stellungnahme
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
Nächstes Level CSS -Styling für CursorNächstes Level CSS -Styling für CursorApr 23, 2025 am 11:04 AM

Benutzerdefinierte Cursoren mit CSS sind großartig, aber wir können die Dinge mit JavaScript auf die nächste Stufe bringen. Mit JavaScript können wir zwischen Cursorzuständen wechseln, dynamischen Text in den Cursor platzieren, komplexe Animationen anwenden und Filter anwenden.

Worlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenWorlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenApr 23, 2025 am 10:42 AM

Interaktive CSS -Animationen mit Elementen, die sich gegenseitig abprallen, scheinen im Jahr 2025 plausibler zu sein. Obwohl es unnötig ist, eine Pong in CSS zu implementieren

Verwendung von CSS-Hintergrund-Filter für UI-EffekteVerwendung von CSS-Hintergrund-Filter für UI-EffekteApr 23, 2025 am 10:20 AM

Tipps und Tricks zur Verwendung der CSS Backdrop-Filter-Eigenschaft, um Benutzeroberflächen zu stylen. Sie lernen, wie Sie Hintergrundfilter zwischen mehreren Elementen schichten, und integrieren sie in andere grafische CSS -Effekte, um aufwändige Designs zu erstellen.

Lächeln?Lächeln?Apr 23, 2025 am 09:57 AM

Nun, es stellt sich heraus, dass die integrierten Animationsfunktionen von SVG nie wie geplant veraltet waren. Sicher, CSS und JavaScript sind mehr als in der Lage, die Ladung zu tragen, aber es ist gut zu wissen, dass Smil nicht wie zuvor im Wasser tot ist

'Hübsch' ist im Auge des Betrachters'Hübsch' ist im Auge des BetrachtersApr 23, 2025 am 09:40 AM

Yay, let ' S sprung für Textschreiber: Pretty Landing in Safari Technology Preview! Aber achten Sie darauf, dass es sich von der Art und Weise unterscheidet, wie es in Chrombrowsern funktioniert.

CSS-Tricks Chronicles xliiiCSS-Tricks Chronicles xliiiApr 23, 2025 am 09:35 AM

Dieses CSS-Tricks-Update zeigt erhebliche Fortschritte im Almanac, den neuesten Podcast-Auftritten, einem neuen CSS-Leitfaden und der Hinzufügung mehrerer neuer Autoren, die wertvolle Inhalte beitragen.

Die @Apply -Funktion von Rückenwind ist besser als es klingtDie @Apply -Funktion von Rückenwind ist besser als es klingtApr 23, 2025 am 09:23 AM

Meistens präsentieren die Leute die @Apply-Funktion mit einer der einzelnen Properschafts-Dienstprogramme von Rückenwind (die eine einzelne CSS-Deklaration ändert). Wenn @Apply auf diese Weise präsentiert wird, klingt er überhaupt nicht vielversprechend. Also obvio

Ich habe das Gefühl, dass ich keine Veröffentlichung habe: eine Reise in Richtung vernünftiger BereitstellungenIch habe das Gefühl, dass ich keine Veröffentlichung habe: eine Reise in Richtung vernünftiger BereitstellungenApr 23, 2025 am 09:19 AM

Das Bereitstellen wie ein Idiot hängt von einer Missverhältnis zwischen den Tools, mit denen Sie zur Bereitstellung verwendet werden, und der Belohnung in der Komplexität im Vergleich zu Komplexität hinzu.

See all articles

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

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software