Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Ein Beispiel für die Erstellung einer Lightning-Verbindungslinie mithilfe der CSS-Sprache

php是最好的语言
Freigeben: 2018-07-30 14:37:07
Original
2312 Leute haben es durchsucht

Ein Beispiel für die Erstellung einer Lightning-Verbindungslinie mithilfe der CSS-Sprache

Effektvorschau

Klicken Sie rechts auf die Schaltfläche „Zur Vorschau klicken“, um eine Vorschau auf der aktuellen Seite anzuzeigen, oder klicken Sie auf den Link, um eine Vorschau im Vollbildmodus anzuzeigen.

https://codepen.io/comehope/pen/RBjdzZ

Interaktives Video

Dieses Video ist interaktiv, Sie können das Video jederzeit anhalten und bearbeiten Code.

Bitte verwenden Sie Chrome, Safari, Edge zum Öffnen und Ansehen.

https://scrimba.com/p/pEgDAM/cgkE6C6

Code-Interpretation

Dom definieren, der Container enthält 2 Elemente, die Stecker und Kabel darstellen:

<p class="cable">
    <span class="head"></span>
    <span class="body"></span>
</p>
Nach dem Login kopieren

Mitte:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
}
Nach dem Login kopieren

Containerabmessungen definieren:

.cable {
    display: flex;
    align-items: center;
    font-size: 10px;
    margin-left: 5em;
}
Nach dem Login kopieren

Umriss des Steckers zeichnen:

.head {
    width: 8.5em;
    height: 8.5em;
    border-radius: 2em 0 0 2em;
}
Nach dem Login kopieren

Umriss der Pins am Stecker zeichnen:

.head {
    position: relative;
}

.head::before {
    content: &#39;&#39;;
    position: absolute;
    width: 3em;
    height: 7.3em;
    top: calc((8.5em - 7.3em) / 2);
    left: 0.7em;
    border-radius: 1em;
    box-sizing: border-box;
}
Nach dem Login kopieren

Zeichnen Sie den Umriss des handgehaltenen Teils des Kabels:

.body {
    width: 15.5em;
    height: 11em;
    border-radius: 0.5em;
}
Nach dem Login kopieren

Zeichnen Sie den Umriss des etwas dickeren Teils des Kabels:

.body {
    position: relative;
    display: flex;
    align-items: center;
}

.body::before {
    content: &#39;&#39;;
    position: absolute;
    width: 13.5em;
    height: 6em;
    left: 15.5em;
}
Nach dem Login kopieren

Zeichnen Sie den Verlängerungsteil des Kabels:

.body::after {
    content: &#39;&#39;;
    position: absolute;
    width: 100vh;
    height: 3.9em;
    left: calc(15.5em + 13.5em);
}
Nach dem Login kopieren

Verstecke die Teile außerhalb des Rahmens:

body {
    overflow: hidden;
}
Nach dem Login kopieren

Zeichne als nächstes die Details.
Malen Sie einen Farbverlauf für das Verlängerungskabel:

.body::after {
    background:
        linear-gradient(
            white,
            hsl(0, 0%, 96%) 5%,  
            hsl(0, 0%, 97%) 25%, 
            hsl(0, 0%, 95%) 40%, 
            hsl(0, 0%, 81%) 95%,
            white
        );
}
Nach dem Login kopieren

Malen Sie einen Farbverlauf für den dickeren Teil des Kabels:

.body::before {
    background:
        linear-gradient(
            white,
            hsl(0, 0%, 96%) 5%,  
            hsl(0, 0%, 98%) 20%, 
            hsl(0, 0%, 95%) 50%, 
            hsl(0, 0%, 81%) 95%,
            white
        );
}
Nach dem Login kopieren

Malen Sie einen Farbverlauf für den handgehaltenen Teil des Kabels:

.body {
    background:linear-gradient(
        hsl(0, 0%, 91%),
        white 15%, 
        hsl(0, 0%, 93%) 50%, 
        hsl(0, 0%, 87%) 70%,
        hsl(0, 0%, 79%) 90%,
        hsl(0, 0%, 84%), 
        hsl(0, 0%, 86%)
    );
}
Nach dem Login kopieren

Malen Sie den Stecker mit einer Verlaufsfarbe:

.head {
    background:
        linear-gradient(
            -45deg, 
            hsl(0, 0%, 75%),
            hsl(0, 0%, 79%),
            hsl(0, 0%, 78%),
            hsl(0, 0%, 87%) 80%
        );
}
Nach dem Login kopieren

Zeichnen Sie die Stifte auf den Stecker:

.head::before {
    background-color: white;
}

.head::after {
    content: &#39;&#39;;
    position: absolute;
    box-sizing: border-box;
    width: 2.2em;
    height: 0.4em;
    color: goldenrod;
    background-color: currentColor;
    border-radius: 0.5em;
    left: 1.1em;
    top: 1.2em;
    box-shadow: 
        0 0.8em 0,
        0 1.6em 0,
        0 2.4em 0,
        0 3.2em 0,
        0 4em 0,
        0 4.8em 0,
        0 5.6em 0;
}
Nach dem Login kopieren

Fügen Sie als Nächstes einen Schatten hinzu, um das Kabel dreidimensionaler zu machen.
Schattieren Sie den Stecker:

.head {
    background:
        linear-gradient(
            90deg, 
            transparent 80%,
            rgba(0,0,0,12%)
        ),
        linear-gradient(
            -45deg, 
            hsl(0, 0%, 75%),
            hsl(0, 0%, 79%),
            hsl(0, 0%, 78%),
            hsl(0, 0%, 87%) 80%
        );
}
Nach dem Login kopieren

Schattieren Sie den handgehaltenen Teil des Kabels:

.body::before {
    background:
        linear-gradient(
            45deg, 
            rgba(0,0,0,4%) 10%,
            transparent 20%
        ),    
        linear-gradient(
            90deg, 
            rgba(0,0,0,4%), 
            transparent 10%
        ),
        linear-gradient(
            white,
            hsl(0, 0%, 96%) 5%,  
            hsl(0, 0%, 98%) 20%, 
            hsl(0, 0%, 95%) 50%, 
            hsl(0, 0%, 81%) 95%,
            white
        );
}
Nach dem Login kopieren

Schattieren Sie den dickeren Teil des Kabels:

.body::after {
    background:
        linear-gradient(
            45deg, 
            rgba(0,0,0,4%),
            transparent 4%
        ),
        linear-gradient(
            90deg, 
            rgba(0,0,0,4%),
            transparent 2%
        ),
        linear-gradient(
            white,
            hsl(0, 0%, 96%) 5%,  
            hsl(0, 0%, 97%) 25%, 
            hsl(0, 0%, 95%) 40%, 
            hsl(0, 0%, 81%) 95%,
            white
        );
}
Nach dem Login kopieren

Fügen Sie abschließend die Eingangsanimation hinzu zum Bildschirm

.cable {
    animation: show 5s linear infinite;
}

@keyframes show {
    0% {
        transform: translateX(100vw);
    }

    20%, 100% {
        transform: translateX(0);
    }
}
Nach dem Login kopieren

Du bist fertig!

Verwandte Artikel:

Erstellen Sie einen Spindelteiler mit reinem CSS3

So erstellen Sie eine einfache fünfzackige Sterngrafik mit reinem CSS3

Ähnliche Videos:

Video-Tutorial zu praktischen Fähigkeiten der CSS-Animation

Das obige ist der detaillierte Inhalt vonEin Beispiel für die Erstellung einer Lightning-Verbindungslinie mithilfe der CSS-Sprache. 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