suchen
HeimWeb-FrontendCSS-TutorialKunst mit CSS-Raster und SVG-Filtern

Haben Sie jemals die Leistungsfähigkeit von Grid-Auto-Flow: Dense erforscht? In Kombination mit zufällig generierten Werten (auf einen festgelegten Bereich beschränkt) können Sie die Eigenschaften „Rasterspalte“ und „Rasterzeile“ verwenden, um coole, gitterbasierte Kunst zu erstellen. Lasst uns eintauchen!

Erstellen wir zunächst eine Grundgitterstruktur:

main {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: repeat(auto-fill,
 minmax(var(--w, 4cqi), 1fr));
}
  • display: grid: Erstellt ein CSS-Rasterlayout.
  • Grid-Auto-Flow: dicht: Füllt automatisch Lücken im Raster, indem Elemente neu positioniert werden, um Leerräume zu minimieren.
  • Grid-Template-Columns: Definiert ein responsives Spaltenlayout. Hier werden automatisch Spalten erstellt, um den verfügbaren Platz zu füllen (automatische Füllung), jeweils mit einer Mindestbreite von --w (Standard: 4cqi) und einer Höchstbreite von 1fr.

Zu diesem Zeitpunkt ist --w undefiniert, daher wird der Standardwert (4cqi) verwendet. So sieht das anfängliche Raster aus:

Art with CSS Grid and SVG filters

Als nächstes füllen wir das Raster mit einer Reihe von -Knoten. Während wir diese mit JavaScript rendern, fügen wir 2 Variablen pro Knoten hinzu:

  • --gc: Anzahl der zu überspannenden Spalten.
  • --gr: Anzahl der zu überspannenden Zeilen.

So generieren wir Zufallswerte in JavaScript:

const random = (min, max) => 
  Math.random() * (max - min) + min

const column = () => 
`--gc:${Math.floor(random(0, 4))};`

const row = () => 
`--gr:${Math.floor(random(0, 3))};`

In CSS wenden wir diese benutzerdefinierten Eigenschaften an:

b {
  background: oklch(var(--l) var(--c) var(--h) / var(--a));
  grid-column: span var(--gc);
  grid-row: span var(--gr, 1);
}

Lassen Sie uns auch einige zufällige Farben in oklch hinzufügen, indem wir eine kleine Hilfsmethode verwenden:

const color = () => `--l:${
  random(0, 100)}%;--c:${
  random(0, 0.5)};--h:${
  random(0, 60)};--a:${
  random(0.2, 1)};`

Jetzt bekommen wir:

Art with CSS Grid and SVG filters

Danke, Grid-Auto-Flow: dicht!

Um die Dinge dynamischer zu gestalten, fügen wir Transformationen wie Drehung und Skalierung hinzu:

b {
  rotate: var(--r);
  scale: var(--s);
}

In JavaScript generieren wir zufällige Transformationswerte:

const transform = () => 
`--r:${random(-2, 3)}deg;
--s:${random(0.8, 1.2)};`

Schauen wir uns das an:

Art with CSS Grid and SVG filters

Schick! Um es noch besser zu machen, fügen wir jetzt ein paar coole SVG-Filter hinzu.

In JavaScript fügen wir eine weitere kleine Hilfsmethode hinzu, um einen Zufallsfilter pro -Knoten auszuwählen:

const filter = () =>
  `--url:url(#${
    [
      "pencilTexture",
      "pencilTexture2",
      "pencilTexture3",
      "pencilTexture4",
    ][Math.floor(random(0, 4))]
  });`

Das gibt uns:

Art with CSS Grid and SVG filters

Jetzt können wir durch einfaches Anpassen der Eigenschaft --w und der Anzahl der Elemente ganz unterschiedliche Kunstwerke erzeugen:

Art with CSS Grid and SVG filters

Oder:

Art with CSS Grid and SVG filters

Wir können auch die Start- und Stoppwerte in der Farbmethode anpassen:

Art with CSS Grid and SVG filters


Demo

Hier ist eine Codepen-Demo. Ich habe unterhalb des Bildmaterials Steuerelemente hinzugefügt, damit Sie die Eigenschaften einfach anpassen können:

Das obige ist der detaillierte Inhalt vonKunst mit CSS-Raster und SVG-Filtern. 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
Entmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesEntmystifizierende Bildschirmleser: Zugrunde Formen und Best PracticesMar 08, 2025 am 09:45 AM

Dies ist der 3. Beitrag in einer kleinen Serie, die wir in Form von Barrierefreiheit gemacht haben. Wenn Sie den zweiten Beitrag verpasst haben, lesen Sie "Verwalten des Benutzerfokus mit: Fokus-Sichtbar". In

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms FrameworkErstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms FrameworkMar 07, 2025 am 11:33 AM

Dieses Tutorial zeigt, dass professionelle JavaScript-Formulare mithilfe des Frameworks Smart Forms erstellt werden (Hinweis: Nicht mehr verfügbar). Während der Rahmen selbst nicht verfügbar ist, bleiben die Prinzipien und Techniken für andere Formbauer relevant.

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenHinzufügen von Kastenschatten zu WordPress -Blöcken und -ElementenMar 09, 2025 pm 12:53 PM

Die CSS-Box-Shadow- und Umrisseigenschaften haben Thema gewonnen. JSON-Unterstützung in WordPress 6.1. Sei ein paar Beispiele für die Funktionsweise in realen Themen und welche Optionen wir diese Stile auf WordPress -Blöcke und Elemente anwenden müssen.

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte)Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte)Mar 04, 2025 am 10:22 AM

In diesem Artikel werden die auf dem Envato -Markt verfügbaren Top -Skripte für PHP -Formulierungen untersucht und deren Funktionen, Flexibilität und Design verglichen. Lassen Sie uns vor dem Tauchen in bestimmte Optionen verstehen, was ein PHP -Formular Builder ist und warum Sie einen verwenden würden. Eine PHP -Form

Arbeiten mit GraphQL CachingArbeiten mit GraphQL CachingMar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMachen Sie Ihren ersten Seltsamen -Sufle -ÜbergangMar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Show, Don ' TellShow, Don ' TellMar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Edle und coole CSS -Scrollbars: Ein SchaufensterEdle und coole CSS -Scrollbars: Ein SchaufensterMar 10, 2025 am 11:37 AM

In diesem Artikel werden wir in die Welt der Scrollbars eintauchen. Ich weiß, es klingt nicht zu glamourös, aber vertrau mir, eine gut gestaltete Seite geht Hand in Hand

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool