Heim > Web-Frontend > CSS-Tutorial > So verwenden Sie reines CSS, um eine Draufsicht auf ein Fußballfeld zu erzielen (Quellcode im Anhang)

So verwenden Sie reines CSS, um eine Draufsicht auf ein Fußballfeld zu erzielen (Quellcode im Anhang)

不言
Freigeben: 2018-09-04 11:45:10
Original
3472 Leute haben es durchsucht

Der Inhalt dieses Artikels befasst sich mit der Verwendung von reinem CSS, um eine Draufsicht auf ein Fußballfeld zu realisieren (Quellcode ist beigefügt). Ich hoffe, dass es einen gewissen Referenzwert hat wird Ihnen nützlich sein.

Effektvorschau

So verwenden Sie reines CSS, um eine Draufsicht auf ein Fußballfeld zu erzielen (Quellcode im Anhang)

Quellcode-Download

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

Code-Interpretation

Dom definieren, der Container enthält das Feld und das Feld enthält Elemente wie Mittellinie, Mittelpunkt, Mittelkreis, Strafraum, Strafstoßpunkt, Strafstoßbogen, Torbereich, Ecke Kick-Bereich usw.:

<div>
    <div>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</div>
Nach dem Login kopieren

Zentrierte Darstellung:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(sandybrown, maroon);
}
Nach dem Login kopieren

Behältergröße definieren:

.container {
    width: 120em;
    height: 80em;
    background-color: green;
    font-size: 5px;
}

.container span {
    display: block;
}
Nach dem Login kopieren

Linienstil definieren:

.container {
    --line: 0.3em solid white;
}
Nach dem Login kopieren

Zeichnen Sie die Seitenlinie des Feld:

.container {
    padding: 5em;
}

.field {
    width: inherit;
    height: inherit;
    border: var(--line);
}
Nach dem Login kopieren

Zeichne die Mittellinie:

.halfway-line {
    width: calc(120em / 2);
    height: 80em;
    border-right: var(--line);
}
Nach dem Login kopieren

Zeichne den Mittelkreis:

.field {
    position: relative;
}

.centre-circle {
    width: 20em;
    height: 20em;
    border: var(--line);
    border-radius: 50%;
    position: absolute;
    top: calc((80em - 20em) / 2);
    left: calc((120em - 20em - 0.3em) / 2);
}
Nach dem Login kopieren

Zeichne den Mittelpunkt:

.centre-mark {
    width: 2em;
    height: 2em;
    background-color: white;
    border-radius: 50%;
    position: absolute;
    top: calc(80em / 2 - 1em);
    left: calc(120em / 2 - 1em + 0.3em / 2);
}
Nach dem Login kopieren

Zeichne den Strafraum:

.penalty-area {
    width: 18em;
    height: 44em;
    border: var(--line);
    position: absolute;
    top: calc((80em - 44em) / 2);
    left: -0.3em;
}
Nach dem Login kopieren

Zeichnen Sie den Strafraum:

.penalty-mark {
    width: 2em;
    height: 2em;
    background-color: white;
    border-radius: 50%;
    position: absolute;
    top: calc(80em / 2 - 1em);
    left: calc(12em - 1em);
}
Nach dem Login kopieren

Zeichnen Sie den Strafraum:

.penalty-arc {
    width: 20em;
    height: 20em;
    border: var(--line);
    border-radius: 50%;
    position: absolute;
    top: calc((80em - 20em) / 2);
    left: calc(12em - 20em / 2);
}
Nach dem Login kopieren

Verstecken Sie den linken Bogen des Strafraums und lassen Sie nur den rechten Bogen übrig:

.field {
    z-index: 1;
}

.penalty-area {
    background-color: green;
}

.penalty-arc {
    z-index: -1;
}
Nach dem Login kopieren

Zeichnen Sie den Zielbereich:

.goal-area {
    width: 6em;
    height: 20em;
    border: var(--line);
    position: absolute;
    top: calc((80em - 20em) / 2);
    left: -0.3em;
}
Nach dem Login kopieren

Zeichnen Sie den Eckbereich:

.field {
    overflow: hidden;
}

.corner-arc::before,
.corner-arc::after {
    content: '';
    position: absolute;
    width: 5em;
    height: 5em;
    border: 0.3em solid white;
    border-radius: 50%;
    --offset: calc(-5em / 2 - 0.3em);
    left: var(--offset);
}

.corner-arc::before {
    top: var(--offset);
}

.corner-arc::after {
    bottom: var(--offset);
}
Nach dem Login kopieren

Kopieren Sie die Unterelemente im Dom, eine Kopie auf jeder Seite:

<div>
    <div>
        <div>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
        </div>
        <div>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
            <span></span>
        </div>
    </div>
</div>
Nach dem Login kopieren

Der Stil auf der rechten Seite ist das Gleiche wie auf der linken Seite, nur horizontal. Einfach umdrehen:

.right {
    position: absolute;
    top: 0;
    left: 50%;
    transform: rotateY(180deg);
}
Nach dem Login kopieren

Fertig!

Verwandte Empfehlungen:

So verwenden Sie reines CSS, um den Anzeigeboxeffekt von Schmetterlingsexemplaren zu realisieren

So verwenden Sie reines CSS, um die Animation zu realisieren Wirkung der Windows-Startoberfläche

Das obige ist der detaillierte Inhalt vonSo verwenden Sie reines CSS, um eine Draufsicht auf ein Fußballfeld zu erzielen (Quellcode im Anhang). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage