Heim  >  Artikel  >  Web-Frontend  >  So verwenden Sie das CSS-Grid-Layout zum Implementieren von Welpenstempeln (Quellcode beigefügt)

So verwenden Sie das CSS-Grid-Layout zum Implementieren von Welpenstempeln (Quellcode beigefügt)

不言
不言Original
2018-09-25 16:08:052191Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Verwendung des CSS-Grid-Layouts zur Implementierung von Welpenstempeln (Quellcode beigefügt). Ich hoffe, dass er hilfreich ist Du hast geholfen.

Effektvorschau

So verwenden Sie das CSS-Grid-Layout zum Implementieren von Welpenstempeln (Quellcode beigefügt)

Quellcode-Download

https://github.com/comehope/front-end-daily -challenges

Code-Interpretation

Dom definieren, der Container stellt den Stempel dar:

<div>
</div>

Zentrierte Anzeige:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: teal;
}

Containergröße festlegen:

.stamp {
    position: relative;
    width: 40.5em;
    height: 71em;
    font-size: 6px;
    padding: 5em;
    background-color: white;
}

Zeichnen Sie die Perforationen des Stempels mit einem sich wiederholenden Hintergrund:

.stamp {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.stamp::after,
.stamp::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: radial-gradient(circle, teal 50%, transparent 50%),
    radial-gradient(circle, teal 50%, transparent 50%);
    background-size: 3.5em 3.5em;
}

.stamp::before {
    top: 1.5em;
    background-repeat: repeat-y;
    background-position: -4.5% 0, 104.5% 0;
}

.stamp::after {
    left: 1.5em;
    background-repeat: repeat-x;
    background-position: 0 -2.5%, 0 102.5%;
}

Fügen Sie das Dom-Element des Welpen in die HTML-Datei ein, mit Unterelementen, die Ohren, Kopf, Augen, Zunge, Körper und Schwanz darstellen und Pfoten:

<div>
    <div>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</div>

Legen Sie die Zeilen- und Spaltenabmessungen des Rasterlayouts fest:

.puppy {
    display: grid;
    grid-template-columns: 10em 22.5em 8em;
    grid-template-rows: 21em 12.5em 3.75em 22.5em;
    background-color: tan;
    padding: 2em;
    margin-top: -1em;
}

Zeichnen Sie den Kopf des Welpen über die 1. und 2. Spalte sowie die 2. und 3. Reihe als Halbkreis:

.head {
    grid-column: 1 / 3;
    grid-row: 2 / 4;
    border-bottom-left-radius: calc(12.5em + 3.75em);
    border-bottom-right-radius: calc(12.5em + 3.75em);
    background-color: bisque;
}

Verwenden Sie Pseudoelemente, um die fächerförmige Nase zu zeichnen, und der überschüssige Teil wird ausgeblendet:

.head {
    position: relative;
    overflow: hidden;
}

.head::before {
    content: '';
    position: absolute;
    width: 7em;
    height: 7em;
    border-bottom-right-radius: 100%;
    background-color: sienna;
}

Zeichnen Sie einen halbkreisförmigen Augenkranz:

.eyes {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    position: relative;
    height: 10.5em;
    width: 21em;
    border-radius: 0 0 10.5em 10.5em;
    background-color: sienna;
}

Verwenden Sie radiale Verwendung Farbverlauf zum Zeichnen von Augen:

.eyes {
    background-image: radial-gradient(
        circle at 37% 33%,
        black 1.4em,
        transparent 1.4em
    );
}

Halbkreisförmige Ohren zeichnen:

.ear {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 10.5em;
    border-radius: 21em 0 0 21em;
    background-color: sienna;
}

Fächerförmige Zunge zeichnen:

.tongue {
    grid-column: 1;
    grid-row: 3;
    width: 5.5em;
    height: 5.5em;
    background-color: indianred;
    border-bottom-left-radius: 100%;
}

Fächerförmigen Körper zeichnen:

.body {
    grid-column: 2;
    grid-row: 4;
    background-color: sienna;
    border-top-left-radius: 100%;
}

Verwenden Pseudoelemente, um die hockenden Beine durch Schatten zu zeichnen:

.body {
    position: relative;
    overflow: hidden;
}

.body::after {
    content: '';
    position: absolute;
    height: 50%;
    width: 100%;
    border-radius: 11.25em 11.25em 0 0;
    box-shadow: 2em 0 4em rgba(0, 0, 0, 0.3);
    bottom: 0;
}

Zeichne einen halbkreisförmigen Schwanz:

.tail {
    grid-column: 1;
    grid-row: 4;
    justify-self: end;
    align-self: end;
    height: 17.5em;
    width: 8.75em;
    background-color: bisque;
    border-radius: 17.5em 0 0 17.5em;
}

Zeichne eine halbkreisförmige kleine Pfote:

.foot {
    grid-column: 3;
    grid-row: 4;
    align-self: end;
    height: 4em;
    background-color: bisque;
    border-radius: 4em 4em 0 0;
}

Füge etwas mehr Text zum Dom hinzu, einschließlich Titel, Autor und Nennwert:

<div>
    <div>
        <!-- 略 -->
    </div>
    <p>
        <span>Puppy</span>
        <span>comehope</span>
        <span>80</span>
    </p>
</div>

Legen Sie den Textstil des Titels fest:

.text {
    position: relative;
    width: calc(100% + 2em * 2);
    height: 6em;
    font-family: sans-serif;
}

.text .title {
    position: absolute;
    font-size: 6em;
    font-weight: bold;
    color: sienna;
}

Legen Sie den Textstil des Autors fest:

.text .author {
    position: absolute;
    font-size: 3em;
    bottom: -1.2em;
    color: dimgray;
}

Legen Sie den Textstil von fest der Nennwert:

.text .face-value {
    position: absolute;
    font-size: 14em;
    right: 0;
    line-height: 0.9em;
    color: darkcyan;
}

Du bist fertig!

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das CSS-Grid-Layout zum Implementieren von Welpenstempeln (Quellcode beigefügt). 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