Es ist heutzutage ziemlich einfach, Flüssigkeitsbilder in unabhängigen Layouts zu verarbeiten. Für komplexere Schnittstellen müssen wir jedoch häufig Bilder in reaktionsschnelle Elemente wie dieser Karte platzieren:
Angenommen, dieses Bild ist nicht-semantischer Inhalt und wird nur zur Dekoration verwendet. Dies ist ideal für die Verwendung background-image
. Und da dieses Bild Objekte enthält, können wir bei reaktionsfähigem Layout keine Teile erregen, daher wählen wir background-size: contain
.
Das Problem ist: Auf mobilen Geräten ändert sich diese Kartenorientierung und wird vertikal, wobei das Bild oben. Wir können dies mit jeder Art von CSS -Layout -Technologie tun, und es ist wahrscheinlich am besten, ein CSS -Gitter oder eine Gummibeldung zu verwenden.
Wenn wir jedoch kleinere Bildschirme testen, erhalten wir aufgrund contain
Attributs die folgenden Ergebnisse:
Das ist nicht ideal. Das Bild wird geändert, um das Seitenverhältnis aufrechtzuerhalten, und wirkt keine Details. Wir können background-size
nicht cover
, wenn das Bild wichtig ist und nicht beschnitten werden sollte.
Zu diesem Zeitpunkt könnte unser nächster Versuch bekannt sein: Platzieren Sie das Bildinline, nicht den Hintergrund.
Auf Desktop -Geräten funktioniert dies gut:
Es ist auch gut auf mobilen Geräten:
Auf kleineren Bildschirmen wird der Anteil des Bildes jedoch aufgrund aller festen Größen verzerrt.
Wir können Stunden damit verbringen, Bilder, Karten und elastische Eigenschaften anzupassen und hin und her anzupassen. Oder wir können ...
Trennende Hauptinhalte vom Hintergrund
Dies ist die Grundlage, um mehr Flexibilität und Flexibilität in reaktionsschnellen Bildern zu erlangen. Obwohl dies in allen Fällen nicht möglich ist, kann dies in vielen Fällen mit nur ein wenig Aufwand im Design erreicht werden, insbesondere wenn ein solcher Ansatz im Voraus geplant ist.
In unserer nächsten Iteration legen wir das Erdbeerbild auf einen transparenten Hintergrund und verwenden CSS, um die blaue Farbe im Rasterbild einzustellen. Verwenden Sie weiterhin die Ansichtsfenstergröße in der Demo, indem Sie die Größe des Beispielraums ändern!
Wenn wir uns die Stile sorgfältig ansehen, beachten Sie, dass wir dem Div, das das Bild enthält, auch Polsterung hinzufügen, sodass die Erdbeeren nicht zu nahe an den Kanten kommen. Wir können vollständig steuern, wie nah oder weit wir möchten, dass sie mit dieser Polsterung zusammen sind.
Beachten Sie, dass wir auch negative Margen verwenden, um die Polsterung der externen Kartenverpackung kompensieren zu können, andernfalls gibt es Rohlinge um das Bild.
Verwenden Sie das Objekt-Fit-Attribut für Inline-Bilder
Obwohl die vorherige Demonstration funktioniert, können wir diesen Ansatz noch verbessern. Bisher nahmen wir an, dass das Bild semantischer Inhalt war-aber in diesem Layout können Bildabbildungen möglicherweise auch mehr als nur Dekoration sein.
Wenn dies der Fall ist, möchten wir unbedingt nicht, dass das Bild zugeschnitten wird, da dies tatsächlich dem Datenverlust entspricht. Um dies zu verhindern, ist es am besten, das Bild inline anstelle des Hintergrunds zu platzieren, was wir mit object-fit
-Eigenschaft tun können.
Wir haben die Erdbeere aus dem Hintergrund extrahiert, was jetzt ein Inline -Element ist, aber wir behalten die Hintergrundfarbe im selben Bilddiv.
Das Kombinieren von object-fit: contain
mit einer Breite 100%
ermöglicht es Ihnen, das Fenster zu ändern und das Seitenverhältnis der Erdbeere beizubehalten. Der Nachteil dieses Ansatzes besteht jedoch darin, dass wir eine feste Höhe für die Desktop -Version des Bildes festlegen müssen - oder es folgt dem Anteil der festgelegten Breite (Reduzierung des Layouts ändert sich). Wenn wir diese Karten mit einer variablen Textmenge generieren müssen, wird der Text eingewickelt, was die Dinge zu restriktiv machen kann.
Bald kommen: Aspektverhältnis
Die Lösung für das oben genannte Problem kann bald über die kommende aspect-ratio
-Eigenschaft implementiert werden. Auf diese Weise können Sie beispielsweise eine feste Skala des Elements festlegen:
.el { Aspektverhältnis: 16/9; }
Dies bedeutet, dass wir die feste Höhe beseitigen und durch das von uns berechnete Seitenverhältnis ersetzen können. Zum Beispiel sehen die Dimensionen im Desktop -Haltepunkt unseres letzten Beispiels so aus:
.Bild { / * ... */ Höhe: 184px; Breite: 318px; }
Mithilfe von aspect-ratio
können wir die Höhenerklärung löschen und berechnen, um die nächste Skala von 184 zu erhalten:
.Bild { / * ... */ Breite: 318px; /* Referenzbreite*/ Höhe: Uneinig; /* Setzen Sie die Höhe der Höhe von Außenmedien zurück. Aspektverhältnis: 159 /92; /* Nahe 184px Höhe*/ }
Wenn Sie mehr erfahren möchten, können Sie die bevorstehenden Attribute in diesem Artikel untersuchen.
Schließlich gibt es mehrere Möglichkeiten, zuverlässige reaktionsschnelle Bilder in Layouts mit variabler Skala zu erreichen. Aber der Trick, diese Arbeit zu erleichtern - und besser - liegt nicht unbedingt in CSS; Es kann einfach sein, einfach Ihr Bild anzupassen, unabhängig davon, ob es den Vordergrund vom Hintergrund trennen soll (wie wir es getan haben) oder ein bestimmtes Bild auszuwählen, das auch dann funktioniert, wenn ein beträchtlicher Teil der Kante beschnitten wird.
Das obige ist der detaillierte Inhalt vonFlüssigkeitsbilder in einem variablen Anteilslayout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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.

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

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

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

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

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

NPM-Befehle führen verschiedene Aufgaben für Sie aus, entweder als einmalige oder als kontinuierlich ausgeführter Vorgang für Dinge wie das Starten eines Servers oder das Kompilieren von Code.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft