J'ai trouvé cet exemple sur stackoverflow:
Dessiner un cercle en utilisant uniquement le CSS
Qui est genial. Mais j'aimerais savoir comment modifier cet exemple afin que je puisse inclure du texte au milieu du cercle?
J'ai également trouvé ceci: centrer verticalement et horizontalement le texte en cercle dans CSS (comme le badge de notification iphone)
mais pour une raison quelconque, cela ne fonctionne pas pour moi. Lorsque je crée le code de test suivant:
<div class="badge">1</div>
au lieu d'un cercle, j'obtiens une forme ovale. J'essaie de jouer avec le code pour voir comment je peux le faire fonctionner.
css
css-shapes
point
la source
la source
border-radius:50%;
cela rend votre événement de code plus élégant et portable, sans avoir à changer cet attribut à chaque fois en fonction de la largeur et de la hauteur;)Si votre contenu va s'emballer et avoir une hauteur inconnue, voici votre meilleur pari:
http://cssdeck.com/labs/aplvrmue
Afficher l'extrait de code
la source
display: absolute
rompt l'alignement - mais la solution facile est de l'envelopper dans un autre div.Vous pouvez utiliser css3
flexbox
.HTML:
CSS:
Cela vous permettra d'avoir un texte sur une seule ligne et sur plusieurs lignes aligné verticalement et horizontalement au milieu.
Afficher l'extrait de code
la source
Je pense que vous voulez écrire du texte dans un ovale ou un cercle? pourquoi pas celui-ci?
la source
Pour une conception Web, on m'a récemment donné que je devais résoudre la quantité de texte centrée et inconnue dans un problème de cercle fixe et j'ai pensé partager la solution ici pour d'autres personnes qui recherchent des combinaisons cercle / texte.
Le principal problème que j'avais était que le texte brisait souvent les limites du cercle. Pour résoudre cela, j'ai fini par utiliser 4 divs. Un conteneur rectangulaire qui spécifie les limites maximales (fixes) du cercle. À l'intérieur, il y aurait le div qui dessine le cercle avec sa largeur et sa hauteur réglées à 100%, donc changer la taille du parent change la taille du cercle réel. À l'intérieur, il y aurait un autre div rectangulaire qui, en utilisant des%, créerait une zone de délimitation du texte empêchant tout texte de quitter le cercle (pour la plupart) Puis enfin le div réel pour le texte et le centrage vertical.
Cela a plus de sens en tant que code:
Vous pouvez décommenter les couleurs de bordure sur les divs de conteneur pour voir comment cela contraint.
Choses à savoir: vous pouvez toujours briser les limites du cercle si vous mettez trop de texte ou utilisez des mots / texte non interrompu trop longs. Ce n'est toujours pas un bon choix pour le texte complètement inconnu (comme la saisie utilisateur), mais fonctionne mieux lorsque vous savez vaguement quelle est la plus grande quantité de texte que vous aurez besoin de stocker et que vous définissez la taille de votre cercle et la taille de la police en conséquence. Vous pouvez bien sûr définir le conteneur de texte div pour masquer tout débordement, mais cela peut simplement sembler "cassé" et ne remplace pas la prise en compte correcte de la taille maximale dans votre conception.
J'espère que cela est utile à quelqu'un! HTML / CSS n'est pas ma discipline principale, donc je suis sûr qu'il peut être amélioré!
la source
Dessinez un cercle avec du texte au milieu avec HTML Tag et sans CSS
la source
font-size
,font-family
,x
ety
aligner. Pour quiconque n'a pas installé Verdana, il ne sera pas centré. L'utilisationx="50%" y="50%" dominant-baseline="middle" text-anchor="middle"
ne résout pas non plus le problème.S'il ne s'agit que d'une seule ligne de texte, vous pouvez utiliser la propriété line-height, avec la même valeur que la hauteur de l'élément:
Si le texte comporte plusieurs lignes, ou si le contenu est variable, vous pouvez utiliser le padding-top:
Exemple: http://jsfiddle.net/2GUFL/
la source
Bien sûr, vous devez utiliser des balises pour faire cela. Un pour créer le cercle et un autre pour le texte.
Ici, un code peut vous aider
Exemple en direct ici http://jsbin.com/apumik/1/edit
Mettre à jour
Ici moins petit avec quelques changements
http://jsbin.com/apumik/3/edit
la source
Pour moi, seule cette solution fonctionnait pour le texte multiligne:
la source
Si vous utilisez Foundation 5 et le framework Compass, vous pouvez essayer ceci.
entrée .sass
Sortie .css
la source
J'ai obtenu ceci sur la page YouTube qui a une configuration très simple. Absolument maintenable et réutilisable.
la source
Certaines des solutions ici ne fonctionnaient pas bien pour moi sur de petits cercles. J'ai donc fait cette solution en utilisant la position absolue ol.
L'utilisation de SASS ressemblera à ceci:
Et peut être utilisé comme
Voir la démo sur https://codepen.io/matheusrufca/project/editor/DnYPMK
Voir l'extrait de code pour afficher le CSS de sortie
Afficher l'extrait de code
la source
Une façon de le faire est d'utiliser flexbox afin d'aligner le texte au milieu. La façon dont j'ai trouvé pour le faire est la suivante:
HTML:
CSS:
Voici le plnkr: https://plnkr.co/edit/EvWYLNfTb1B7igoc3TZx?p=preview
la source
En utilisant ce code, il sera également réactif.
la source
la source
Je combinais des réponses d'autres personnes et avec
float
etrelative
cela m'a donné le résultat dont j'avais besoin.En HTML, j'utilise un div. Je l'utilise dans un
li
pour une barre de navigation.la source