Heim  >  Artikel  >  Web-Frontend  >  So erstellen Sie ein sechseckiges Bild in CSS

So erstellen Sie ein sechseckiges Bild in CSS

php中世界最好的语言
php中世界最好的语言Original
2018-03-20 16:51:141884Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie mit CSS ein sechseckiges Bild erstellen. Was sind die Vorsichtsmaßnahmen für die Erstellung eines sechseckigen Bilds mit CSS?

In diesem Artikel wird hauptsächlich der Beispielcode zum Realisieren sechseckiger Bilder mit CSS vorgestellt und mit allen geteilt. Die Details lauten wie folgt:

Wenn nichts anderes, sprechen wir zuerst über den Effekt:

Verwenden Sie ein einfaches p mit Pseudoelementen, um dieses sechseckige Bild zu „zeichnen“. Das Prinzip besteht darin, dass drei ps gleicher Breite und Höhe durch Positionierung und Drehung zu einem Sechseck zusammengesetzt werden. Anschließend werden die verwendeten Hintergrundbilder geschichtet, um ein optisch vollständiges Bild zu ergeben. Lassen Sie es uns Schritt für Schritt umsetzen.

(1) Dann besteht der erste Schritt natürlich darin, den Container zu zeichnen. Der Container ist ein p mit Breite und Höhe.

Vor dem Zeichnen müssen Sie ein Problem verstehen, das heißt, ein gleichseitiges Sechseck besteht aus drei ps mit der gleichen Breite und Höhe (wie in der Abbildung unten gezeigt), also müssen die Breite und Höhe von p sein erfüllen √ Nur das Dreifache der Bedingungen kann verwendet werden, um ein regelmäßiges Sechseck zu bilden. Ich werde Ihnen hier nicht zeigen, wie Sie diesen Wert berechnen. Wenn Sie interessiert sind, können Sie ihn privat mit trigonometrischen Funktionen berechnen.

  

Hier stelle ich die Breite des äußeren Containers auf 190 Pixel, die Höhe auf 110 Pixel und dann das Hintergrundbild ein. Der Code lautet wie folgt

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    .wrap{
        height:110px;
        width: 190px;
        position: relative;
        margin: 200px auto;
        background: url('./eddie.jpg') 50% 50% no-repeat; 
        background-size: auto 220px;
    }
</style>
<body>
    <p class=&#39;wrap&#39;>
    </p>
</body>
</html>

Der Effekt ist ein Bild

(2) Zeichnen Sie im zweiten Schritt das linke p und sein Pseudo- Elementbild

In diesem Schritt verwenden Sie das neue p, um die linke Seite des Sechsecks zu positionieren und zu drehen, legen die Breite und Höhe des neuen p-Pseudoelements fest und legen ein Hintergrundbild fest, das mit dem obigen Bild übereinstimmt Beachten Sie, dass die Breite und Höhe des neuen p-Pseudoelements die gesamte Breite und Höhe der Kante sind. Drehen Sie dann das Pseudoelement, um das Bild vertikal anzuzeigen (das neue p sollte gedreht werden, sodass auch das Pseudoelementbild gedreht wird, sodass es in den normalen Winkel zurückgedreht werden muss), und die Position des Pseudoelements muss angepasst werden (Das neue p wird gedreht, was sich auf die Positionierung des Pseudoelements auswirkt) Position), schließlich wird dieses neue p so eingestellt, dass es den verborgenen Wert überschreitet, und die linke Seite des Sechsecks wird gezeichnet

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    .wrap{
        height:110px;
        width: 190px;
        position: relative;
        margin: 200px auto;
        background: url('./eddie.jpg') 50% 50% no-repeat; 
        background-size: auto 220px;
    }
    .common{
        position: absolute;
        height: 100%;
        width: 100%;
        overflow: hidden;
        left:0;
23 
    }
    .common:before{
        content:'';
        position: absolute;
        background:url('./eddie.jpg') 50% 50% no-repeat;
        background-size: auto 220px;
        width: 190px;
        height: 220px;
    }
    .left{
        transform: rotate(60deg);
    }
    .left:before{
        transform: rotate(-60deg) translate(48px,-28px);
    }
</style>
<body>
    <p class=&#39;wrap&#39;>
        <p class=&#39;left common&#39;></p>
    
    </p>
</body>
</html>

Der Effekt lautet wie folgt:

(3) Der dritte Schritt besteht darin, das rechte p und sein Pseudoelementbild zu zeichnen

Das Prinzip dieses Schritts ist das Wie im zweiten Schritt, aber der Winkel ist umgekehrt, daher werde ich nicht auf Details eingehen und direkt zum vollständigen Code gehen

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
    .wrap{
        height:110px;
        width: 190px;
        position: relative;
        margin: 200px auto;
        background: url('./eddie.jpg') 50% 50% no-repeat; 
        background-size: auto 220px;
    }
    .common{
        position: absolute;
        height: 100%;
        width: 100%;
        overflow: hidden;
        left:0;
    }
    .common:before{
        content:'';
        position: absolute;
        background:url('./eddie.jpg') 50% 50% no-repeat;
        background-size: auto 220px;
        width: 190px;
        height: 220px;
    }
    .left{
        transform: rotate(60deg);
    }
    .left:before{
        transform: rotate(-60deg) translate(48px,-28px);
    }
    .right{
        transform: rotate(-60deg);
    }
    .right:before{
         transform: rotate(60deg) translate(48px,28px);
         bottom: 0;
    }
</style>
<body>
    <p class=&#39;wrap&#39;>
        <p class=&#39;left common&#39;></p>
        <p class=&#39;right common&#39;></p>
    </p>
</body>
</html>

An dieser Stelle kann das Bild am Anfang des Artikels sein Mit diesem Prinzip können Sie auch andere Bilddarstellungseffekte in verschiedenen Formen erzeugen. Willkommen, um Ihre Forschung fortzusetzen. In Zukunft wird die Bildanzeige nicht mehr eine einzelne Ziegellinie sein! !

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

CSS3-Animationssequenzanimation

So verwenden Sie das CSS-Weird-Box-Modell und das Standard-Box-Modell

Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein sechseckiges Bild in CSS. 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