Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wie erstelle ich eine CSS-Bildüberlagerung mit unterschiedlichen Höhen, aber gleichbleibender Breite?

Patricia Arquette
Freigeben: 2024-10-30 10:09:27
Original
486 Leute haben es durchsucht

How to Create a CSS Image Overlay with Different Heights but Consistent Width?

CSS-Overlay auf Bildern: Eine umfassende Anleitung

Einführung

Das Erstellen eines Bild-Overlays ist eine häufige Aufgabe im Webdesign. Sie können einem Bild Text, Symbole oder andere Informationen hinzufügen und so einen optisch ansprechenden und informativen Effekt erzielen. In diesem Artikel untersuchen wir, wie wir dies mithilfe von CSS erreichen können, und konzentrieren uns dabei insbesondere auf den Fall, dass Bilder unterschiedliche Höhen haben und gleichzeitig eine einheitliche Breite beibehalten.

Erstellen der Bildüberlagerung

Um diesen Effekt zu erzielen, verwenden wir einen Div-Container, um das Bild und den Overlay-Inhalt zu speichern. Die folgenden CSS-Regeln erstellen das Overlay:

.image-container {
    position: relative;
    width: 200px;
}

.image-container .after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: none;
    color: #FFF;
}

.image-container:hover .after {
    display: block;
    background: rgba(0, 0, 0, .6);
}
Nach dem Login kopieren

HTML-Struktur

Die HTML-Struktur enthält das Bild und den Overlay-Inhalt:

<div class="image-container">
    <img src="image.jpg">
    <div class="after">This is some content</div>
</div>
Nach dem Login kopieren

Verbesserung des Overlays

Um das Erscheinungsbild des Overlays zu verbessern, können wir zusätzliche CSS-Stile hinzufügen. Zum Beispiel:

.image-container .after .content {
    position: absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
    padding: 5px;
}
Nach dem Login kopieren

Dadurch wird der Overlay-Inhalt unten vertikal ausgerichtet.

Benutzerdefinierte Demo

Hier ist eine komplexere Demo mit Extras Stil, wie ein Symbol und Text:

.image-container {
    position: relative;
    display: inline-block;
}

.image-container img {
    display: block;
}

.image-container .after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    color: #FFF;
}

.image-container:hover .after {
    display: block;
    background: rgba(0, 0, 0, .6);
}

.image-container .after .content {
    position: absolute;
    bottom: 0;
    font-family: Arial;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
}

.image-container .after .zoom {
    color: #DDD;
    font-size: 48px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -30px 0 0 -19px;
    height: 50px;
    width: 45px;
    cursor: pointer;
}

.image-container .after .zoom:hover {
    color: #FFF;
}
Nach dem Login kopieren
<div class="image-container">
    <img src="image.jpg">
    <div class="after">
        <span class="content">This is some content. It can be long and span several lines.</span>
        <span class="zoom"><i class="fa fa-search"></i></span>
    </div>
</div>
Nach dem Login kopieren

Diese aktualisierte Demo fügt dem Overlay ein animiertes Zoom-Symbol hinzu, das für zusätzliches visuelles Interesse sorgt.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine CSS-Bildüberlagerung mit unterschiedlichen Höhen, aber gleichbleibender Breite?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage