Ich möchte eine Zahl in einem Kreis wie in diesem Bild umgeben:
Ist das möglich und wie wird es erreicht?
html
css
css-shapes
Pentium10
quelle
quelle
Das Problem bei den meisten anderen Antworten besteht darin, dass Sie die Größe des Außencontainers so anpassen müssen, dass die perfekte Größe auf der Schriftgröße und der Anzahl der anzuzeigenden Zeichen basiert. Wenn Sie 1-stellige und 4-stellige Zahlen mischen, funktioniert dies nicht. Wenn das Verhältnis zwischen Schriftgröße und Kreisgröße nicht perfekt ist, erhalten Sie entweder ein Oval oder eine kleine Zahl, die vertikal am oberen Rand eines großen Kreises ausgerichtet ist. Dies sollte für jede Textmenge und jeden Kreis funktionieren. Setzen Sie einfach das
width
undline-height
auf den gleichen Wert:Wenn Sie den Inhalt länger oder kürzer machen müssen, müssen Sie lediglich die Breite des Behälters anpassen, um eine bessere Passform zu erzielen.
Sehen Sie es auf JSFiddle .
quelle
text-align
undline-height
zum div hinzuzufügen . Immer noch wahrscheinlich die beste Antwort.Wenn es 20 und niedriger ist, können Sie einfach die Unicode-Zeichen ① ② ... ⑳ verwenden
http://www.alanwood.net/unicode/enclosed_alphanumerics.html
quelle
Bei Kreisgrößen, die je nach Inhalt variieren, sollte dies funktionieren:
http://jsfiddle.net/nzsnw55s/
Es basiert auf der Breite des Inhalts plus den
margin-
's, um den Radius zu bestimmen, und erweitert dann die Höhe, um sie mit denpadding-
' s anzupassen. Diemargin-
's müssten basierend auf der Schriftgröße angepasst werden.Update zum Entfernen des inneren Elements:
Verwendet Pseudoelemente, um die Höhe zu erzwingen. Benötigen Sie den Raum mit der Breite Null für die vertikale Ausrichtung. Verschob das
line-height:0px
vom äußeren zum Pseudo, so dass es zumindest beim Herabsetzen für IE8 sichtbar ist.quelle
Der einfachste Weg ist die Verwendung der Bootstrap- und Badge-Klasse
quelle
Diese Version basiert nicht auf fest codierten, festen Werten, sondern auf Größen im Verhältnis zu
font-size
dendiv
.http://jsfiddle.net/qod1vstv/
CSS:
HTML:
quelle
Hierfür können Sie den Rahmenradius verwenden:
Spielen Sie mit dem Randradius und den Füllwerten, bis Sie mit dem Ergebnis zufrieden sind.
Dies funktioniert jedoch nicht in allen Browsern. Ich denke, IE unterstützt immer noch keine abgerundeten Ecken.
quelle
Meine Lösung hier - dies ermöglicht leicht verschiedene Größen und Farben und verbindet sich mit einem CMS zur redaktionellen Kontrolle. Für IE, der sich zu Quadraten verschlechtert.
HTML :
CSS :
Es ist nicht allzu schwer zu sehen, wie das geht. Die größere Frage ist, ob es möglich ist, die Abmessungen des Kreises auf den Inhalt zu skalieren.
Derzeit denke ich nicht, dass es möglich ist. Jemand?
quelle
Spät zur Party, aber hier ist eine reine Bootstrap-Lösung, die für mich funktioniert hat. Ich benutze Bootstrap 4:
Sie fügen
bg-dark text-white rounded-circle px-3 py-1 mx-2 h3
Ihrem<span>
(oder einem anderen) Element grundsätzlich Klassen hinzu und sind fertig.Beachten Sie, dass Sie möglicherweise Rand- und Füllklassen anpassen müssen, wenn Ihr Inhalt mehr als eine Ziffer hat.
quelle
Sie arbeiten wie mit einem Standardblock, das ist ein Quadrat
Dies ist eine Funktion von CSS 3 und wird nicht sehr gut unterstützt. Sie können sich auf Firefox und Safari verlassen.
quelle
HTML-BEISPIEL
CODE
quelle
Spät zur Party, aber hier ist die Lösung, die ich mit https://codepen.io/jnbruno/pen/vNpPpW gewählt habe
CSS:
html:
Erforderlich keine zusätzliche Arbeit. Vielen Dank, John Noel Bruno
quelle
Mach so etwas in deinem CSS
Verwenden Sie das Absatz-Tag, um den Text zu schreiben. hoffentlich hilft das
quelle
So etwas , was ich getan habe hier arbeiten könnte (Nummern 0 bis 99):
CSS:
HTML:
quelle
Wenn Sie die erste Antwort verbessern, entfernen Sie einfach die Polsterung und fügen Sie hinzu
line-height
undvertical-align
:quelle
Hier ist meine Art, es mit der quadratischen Methode zu machen. Der Vorteil ist, dass es mit unterschiedlichen Werten funktioniert, Sie jedoch 2 Bereiche benötigen.
quelle
Die Antwort von dreißig Punkten ist richtig, aber es fehlt ein kleiner Punkt. Sie müssen position: relative hinzufügen , wenn Sie einen zentrierten Wert im Kreis haben und auch einen anderen Zahlenbereich einschließen möchten. Zum Beispiel 123;
HTML:
CSS:
Eine einfachste Lösung ist jedoch die Verwendung von Bootstrap
<span class="badge" style ="float:right">123</span>
quelle