Je voudrais entourer un nombre dans un cercle comme dans cette image:
Est-ce possible et comment est-il réalisé?
html
css
css-shapes
Pentium10
la source
la source
Le problème avec la plupart des autres réponses ici est que vous devez modifier la taille du conteneur externe afin qu'elle soit la taille parfaite en fonction de la taille de la police et du nombre de caractères à afficher. Si vous mélangez des nombres à 1 chiffre et des nombres à 4 chiffres, cela ne fonctionnera pas. Si le rapport entre la taille de la police et la taille du cercle n'est pas parfait, vous vous retrouverez soit avec un ovale soit avec un petit nombre aligné verticalement en haut d'un grand cercle. Cela devrait fonctionner correctement pour n'importe quelle quantité de texte et n'importe quel cercle de taille. Réglez simplement le
width
etline-height
sur la même valeur:Si vous devez allonger ou raccourcir le contenu, il vous suffit d'ajuster la largeur du conteneur pour un meilleur ajustement.
Voir sur JSFiddle .
la source
text-align
etline-height
au div. Toujours la meilleure réponse probablement.Si c'est 20 et moins, vous pouvez simplement utiliser les caractères unicode ode ② ... ⑳
http://www.alanwood.net/unicode/enclosed_alphanumerics.html
la source
Pour les tailles de cercle variant en fonction du contenu, cela devrait fonctionner:
http://jsfiddle.net/nzsnw55s/
Il s'appuie sur la largeur du contenu plus le
margin-
's pour déterminer le rayon, puis étend la hauteur pour correspondre en utilisant lepadding-
' s. Lesmargin-
'devraient être ajustés en fonction de la taille de la police.Mettre à jour pour supprimer l'élément intérieur:
Utilise des pseudo-éléments pour forcer la hauteur. Besoin d'espace de largeur nulle pour l'alignement vertical. Déplacé le
line-height:0px
de l'extérieur vers le pseudo afin qu'il soit au moins visible lors de la dégradation pour IE8.la source
la manière la plus simple est d'utiliser la classe bootstrap et badge
la source
Cette version ne repose pas sur des valeurs fixes codées en dur mais sur des tailles par rapport à celles
font-size
dudiv
.http://jsfiddle.net/qod1vstv/
CSS:
HTML:
la source
Vous pouvez utiliser le border-radius pour cela:
Jouez avec le rayon de la bordure et les valeurs de remplissage jusqu'à ce que vous soyez satisfait du résultat.
Mais cela ne fonctionnera pas dans tous les navigateurs. Je suppose que IE ne prend toujours pas en charge les coins arrondis.
la source
Ma solution ici - cela permet facilement différentes tailles et couleurs et se lie à un CMS pour un contrôle éditorial. Pour IE dégradant en carrés.
HTML :
CSS :
Ce n'est pas trop difficile de voir comment procéder. La plus grande question est de savoir s'il est possible de rendre les dimensions de l'échelle du cercle au contenu.
Actuellement, je ne pense pas que ce soit possible. N'importe qui?
la source
Tard dans la soirée, mais voici une solution bootstrap uniquement qui a fonctionné pour moi. J'utilise Bootstrap 4:
Vous ajoutez essentiellement des
bg-dark text-white rounded-circle px-3 py-1 mx-2 h3
classes à votre<span>
élément (ou autre) et vous avez terminé.Notez que vous devrez peut-être ajuster les classes de marge et de remplissage si votre contenu comporte plusieurs chiffres.
la source
Vous travaillez comme avec un bloc standard, c'est-à-dire un carré
C'est une fonctionnalité de CSS 3 et ce n'est pas très bien corrigé, vous pouvez compter sur firefox et safari à coup sûr.
la source
EXEMPLE HTML
CODE
la source
Tard dans la soirée mais voici la solution avec laquelle j'ai opté pour https://codepen.io/jnbruno/pen/vNpPpW
Css:
html:
Aucun travail supplémentaire requis. Merci John Noel Bruno
la source
Faites quelque chose comme ça dans votre CSS
Utilisez la balise de paragraphe pour écrire le texte. J'espère que cela pourra aider
la source
Quelque chose comme ce que j'ai fait ici pourrait fonctionner (pour les numéros 0 à 99):
CSS:
HTML:
la source
Améliorer la première réponse suffit de se débarrasser du remplissage et d'ajouter
line-height
etvertical-align
:la source
Voici ma façon de le faire, en utilisant la méthode carrée. L'avantage est qu'il fonctionne avec des valeurs différentes, mais vous avez besoin de 2 portées.
la source
La réponse de thirtydot est juste mais il manque un petit point. Vous devez ajouter position: relative , si vous souhaitez avoir une valeur centrée dans le cercle et inclure également une plage de nombres différente. Par exemple 123;
HTML:
CSS:
mais la solution la plus simple consiste à utiliser Bootstrap
<span class="badge" style ="float:right">123</span>
la source