So erstellen Sie ein Sechseck mit gekrümmten Kanten mithilfe von CSS

8

Das ist mein CSS.

CSS

%Vor%

Der Ausgang ist 4 Kanten des Sechsecks ist gekrümmt, aber oben und unten ist nicht. Ich möchte alle Kanten des Sechsecks gekrümmt machen. Wie macht man obere und untere Kante gekrümmt? oder Wie wird die obere Kante des Dreiecks gekrümmt?

Ссылка 1

    
sooko1005 18.07.2014, 07:42
quelle

5 Antworten

10

Ich denke, Sie suchen das.

css

%Vor%

Geige

Bitte suchen Sie das nächste Mal ein wenig, bevor Sie eine Frage stellen. Nichts für ungut:)

    
Alex Char 18.07.2014, 07:53
quelle
6

Ich verstehe, dass dies eine ziemlich alte Frage ist, aber ich dachte, ich würde eine Antwort hinzufügen, um mehr über wie es funktioniert zu zeigen.

Also zuerst müssen wir ein einzelnes Element auf der Seite erstellen. Ich habe eine Größe von height:300px; width:180px; und einen Rahmenradius von 10px gewählt. Nur weil ich die Rundung der Zahl mag (vergebe das Wortspiel). Geben wir diesem Element position:relative; , bedeutet dies, dass wir hier alles relativ zu diesem div positionieren können.

Wir müssen dann zwei Pseudoelemente mit der gleichen Höhe und Breite wie die Eltern erstellen.

Da die Pseudoelemente genau das sind, Pseudoelemente, müssen wir ihnen absolute hinzufügen. Und da wir Sachen in die Eltern legen können, brauchen wir diese nicht wirklich, also setze sie auf content:

Dies führt uns dazu, wie wir das Sechseck und nicht das Rechteck, das wir gerade haben, erzeugen können. Um dies zu erreichen, müssen wir eine Rotation einschließen, um die anderen Seiten des Sechsecks zu erzeugen. Da es 6 Seiten gibt und die Winkel zu 360 hinzugefügt werden müssen, können wir eines der Pseudoelemente um 60 Grad drehen. Die andere werden wir um -60 Grad (oder 300 Grad, wenn Sie bevorzugen) drehen.

Dies lässt uns mit unserem "Sechseck", in dem wir einige nette Styling- und Hover-Animationen hinzufügen können, wie es nötig ist:

%Vor% %Vor%

Jsfiddle-Demo ist ebenfalls verfügbar

    
jbutler483 10.04.2015 11:20
quelle
1

Versuchen Sie Folgendes: (funktioniert in Chrom und in 10)

%Vor%     
Bindiya Patoliya 18.07.2014 08:00
quelle
1

Sie können diesen Ansatz versuchen:

CSS

%Vor%

DEMO

Ссылка

    
Alessandro Incarnati 18.07.2014 08:02
quelle
0

Mit Ihrem aktuellen Code können Sie das Dreieck oben und unten leicht ändern, um ihm ein gekrümmtes Aussehen zu geben. Fügen Sie eine Breite von 4px zu #hexagon-circle:before und #hexagon-circle:after hinzu und reduzieren Sie border-left und border-right by 2px jeweils.

Js Geige hier

%Vor%

Es ist keine echte Kurve, da es eine gerade Linie erzeugt, aber es gibt den Eindruck, dass es gekrümmt sein könnte, wenn es im Kontext der Form betrachtet wird.

    
David Barker 18.07.2014 07:58
quelle

Tags und Links