Ich frage mich, ob es einen einfacheren Weg gibt, kreisförmige Divs zu erstellen, als das, was ich jetzt mache.
Momentan mache ich nur ein Bild für jede Größe, aber es ist ärgerlich, dies zu tun.
Gibt es überhaupt CSS, um kreisförmige Divs zu erstellen, und ich kann den Radius angeben?
html
css
geometry
css-shapes
bmaster
quelle
quelle
Antworten:
Hier ist eine Demo: http://jsfiddle.net/thirtydot/JJytE/1170/
CSS:
HTML:
Damit dies in IE8 und älter funktioniert , müssen Sie CSS3 PIE herunterladen und verwenden . Meine obige Demo funktioniert nicht in IE8, aber das liegt nur daran, dass jsFiddle nicht hostet
PIE.htc
.Meine Demo sieht so aus:
quelle
div
auf Ihrer Seite ist rund, was Sie sehen können, wenn Sie es beispielsweise hinzufügenborder: 5px solid red
. Das Problem ist, dass die Teile des Bildes, die "den Kreis überhängen", nicht ausgeblendet werden. Keine der üblichen Problemumgehungen ist hier besonders einfach anzuwenden. Ich empfehle, die-webkit-mask-image
Eigenschaft zum Korrigieren von WebKit-Browsern zu verwenden (undborder-radius
für andere Browser beizubehalten). Weitere Infos hier: webkit.org/blog/181/css-masks . Sie können auch eine Frage zu Stack Overflow stellen, um zu sehen, ob andere Personen andere Ideen haben.Wenn Sie den Rahmenradius jeder Seite eines Elements auf 50% einstellen, wird die Kreisanzeige in einer beliebigen Größe erstellt:
quelle
Versuche dies
quelle
Es ist tatsächlich möglich.
Siehe: CSS-Tipp: So erstellen Sie Kreise ohne Bilder . Siehe Demo .
Aber seien Sie gewarnt, es hat schwerwiegende Nachteile in Bezug auf die Kompatibilität im Grunde, Sie machen eine Katze bellen.
Sehen Sie, wie es hier funktioniert
Wie Sie sehen werden, müssen Sie nur die
height
undwidth
die Hälfte der einrichtenborder-radius
Viel Glück!
quelle
jsfiddle
Link! Dieser Link ist der einzige, der derzeit von Ihrer Antwort ausgeht. ;)Es gibt auch die schlechte Idee, mehrere (20+) horizontale oder vertikale 1px-Divs zu verwenden, um einen Kreis zu konstruieren. Dieses jQuery-Plugin verwendet diese Methode, um verschiedene Formen zu erstellen.
quelle
Geben Sie je nach Größe Breite und Höhe an, aber halten Sie beide gleich
quelle
border-radius: 50%;
reicht.Ich wollte nur eine andere Lösung erwähnen, die die Frage beantwortet: "Einfachere Möglichkeit, Kreis-Div zu erstellen, als ein Bild zu verwenden?" welches FontAwesome verwenden soll.
Sie importieren die fontawesome CSS-Datei oder aus dem CDN hier
und dann bist du einfach:
und Sie können ihm jede gewünschte Farbe und Schriftgröße geben.
quelle
Sie können die
radial-gradient
CSS-Funktion ausprobieren :Wende es auf eine
div
Ebene an:quelle
Angenommen, Sie haben dieses Bild:
Um daraus einen Kreis zu machen, müssen Sie nur hinzufügen
Wenn Sie also einen Div haben, können Sie das Gleiche tun.
Überprüfen Sie das folgende Beispiel:
quelle
Sie können Radius verwenden, aber es funktioniert nicht im IE :
border-radius: 5px 5px;
.quelle
quelle
Grundsätzlich wird die absolute Position von div verwendet, um ein Zeichen an den angegebenen Koordinaten zu platzieren. Mit der parametrischen Gleichung für einen Kreis können Sie also einen Kreis zeichnen. Wenn Sie die Position von div in relativ ändern, führt dies zu einer Sinuswelle ...
Im Wesentlichen zeichnen wir Gleichungen, indem wir die Positionseigenschaft missbrauchen. Ich bin nicht gut mit CSS vertraut, also kann jemand dies sicherlich eleganter machen. genießen.
Dies funktioniert auf allen Browsern und Mobilgeräten (die mir bekannt sind). Ich benutze es auf meiner eigenen Website, um Sinuswellen von Text zu zeichnen (www.cpixel.com). Die ursprüngliche Quelle dieses Codes finden Sie hier: www.mathopenref.com/coordcirclealgorithm.html
quelle
Hinzufügen der
css
Eigenschaft von:border-radius: 50%;
zu jedem div macht es kreisförmig.
quelle
Erstellen Sie für einen Kreis ein div-Element und geben Sie dann width = 2 mal des Randradius = 2 mal padding ein. Auch Zeilenhöhe = 0 Mit beispielsweise 50 Pixel als Radien des Kreises funktioniert der folgende Code gut:
quelle