Heim > Web-Frontend > CSS-Tutorial > Hauptteil

So implementieren Sie einen adaptiven Container in CSS

王林
Freigeben: 2020-03-20 10:47:48
nach vorne
1970 Leute haben es durchsucht

So implementieren Sie einen adaptiven Container in CSS

Ziel:

Implementieren Sie einen breitenadaptiven Container, dessen Höhe halb so breit ist.

1. Überlegen Sie, wie Sie es umsetzen

Dieses Problem ähnelt: Wir befinden uns auf der mobilen Seite, es gibt ein Bild mit einer Breite von 100 %, wenn wir die Höhe nicht festlegen Das Bild basiert auf der Originalgröße und wird proportional skaliert.

Diese Idee können wir nutzen, um eine entsprechende proportionale Höhe für das Element basierend auf der Höhe des Elements festzulegen.

(Empfohlenes Tutorial: CSS-Einführungs-Tutorial)

2. Implementierungsmethode 1 – Implementierung über die VW-Viewport-Einheit

Die sogenannte Viewport-Einheit ( Ansichtsfenstereinheiten) ist relativ zur Größe des Ansichtsfensters (Ansichtsfenster). 100 vw entspricht 100 % der Ansichtsfensterbreite, d. h. 1 vw entspricht 1 % der Ansichtsfensterbreite.

Mit dieser Funktion können wir auf der mobilen Seite adaptive Container in Breite und Höhe implementieren.

HTML-Code:

<div class="box">
    <img  src="http://images.pingan8787.com/2019_07_12guild_page.png" / alt="So implementieren Sie einen adaptiven Container in CSS" >
</div>
Nach dem Login kopieren

CSS-Code:

*{
    margin:0;
    padding:0
}
.box{
    width:100%;
    height:51.5vw
}
.box img{ 
    width:100%; 
}
Nach dem Login kopieren

Warum beträgt die .box-Höhe 51,5vw?

Der Grund dafür ist, dass die Originalgröße des Bildes das Seitenverhältnis 884 * 455 hat, also 455 / 884 = 51,5 %.

Im Vergleich zur proportionalen Skalierung des Originalbilds hat diese Methode einen Vorteil: Unabhängig davon, ob das Bild erfolgreich geladen wurde oder nicht, wird immer die Containerhöhe berechnet, was kein Seitenzittern oder Neuzeichnen der Seite verursacht. Dadurch wird die Leistung verbessert.

Sehen wir uns den Vergleich zwischen erfolgreichem und fehlgeschlagenem Bildladen in diesem Fall an:

So implementieren Sie einen adaptiven Container in CSS

3. Implementierungsmethode 2 – Implementiert durch Unterelementauffüllung

Dies wird durch Festlegen des Auffüllattributs des untergeordneten Elements erreicht, was häufiger verwendet wird und eine bessere Wirkung hat. Hier muss Folgendes verstanden werden: der Wert des Prozentsatzes des Auffüllattributs des untergeordneten Elements Das Element basiert zunächst auf der Breite des übergeordneten Containers.

Sehen Sie sich den Code und die Darstellungen unten an, um zu verstehen:

HTML-Code:

<div class="box">
    <div class="text">我是王平安,pingan8787</div>
</div>
Nach dem Login kopieren

CSS-Code:

.box{
    width: 200px;
}
.text{
    padding: 10%;
}
Nach dem Login kopieren

So implementieren Sie einen adaptiven Container in CSS

Analyse:

Hier setzen wir die Breite des übergeordneten Containers .box auf 200 Pixel und die Auffüllung des untergeordneten Elements .text: 10 %, sodass das Ergebnis der Auffüllungsberechnung von .box 20 Pixel beträgt;

Als nächstes verwenden wir in Kombination mit dem Thema dieses Prinzip, um das Problem der gleichen Proportionen zu lösen:

HTML-Code:

<div class="box">
    <div class="text">
        <img  src="http://images.pingan8787.com/2019_07_12guild_page.png" / alt="So implementieren Sie einen adaptiven Container in CSS" >
    </div>
</div>
Nach dem Login kopieren

CSS-Code:

.box{
    width: 100%;
}
.text{
    overflow: hidden;
    height: 0;
    padding-bottom: 51.5%;
}
.box .text img{
    width: 100%;
}
Nach dem Login kopieren

Here.text padding-bottom: 51,5 % wird ebenfalls nach der ersten Methode berechnet, wobei das Seitenverhältnis der Originalgröße des Bildes verwendet wird. Es ist zu beachten, dass die Einstellung von .text hier auf height: 0; Die Höhe muss höher als die tatsächliche Höhe sein. Um dies zu vermeiden, müssen Sie in diesem Fall height: 0; festlegen.

Empfohlene verwandte Video-Tutorials: CSS-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie einen adaptiven Container in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!