Comment dessiner un cercle en utilisant HTML5 et CSS3?
Est-il également possible de mettre du texte à l'intérieur?
html
css
geometry
css-shapes
Sergey Metlov
la source
la source
Réponses:
Vous ne pouvez pas dessiner un cercle en soi. Mais vous pouvez créer quelque chose d’identique à un cercle.
Vous devrez créer un rectangle avec des coins arrondis (via
border-radius
) qui font la moitié de la largeur / hauteur du cercle que vous souhaitez créer.la source
border-radius: 50%;
fonctionnait bien, changez la taille comme vous le souhaitez. Pour la couleur, vous pouvez utiliserbackground-color
ouborder
.C'est tout à fait possible en HTML 5 . Vos options sont: SVG et
<canvas>
tag intégrés .Pour dessiner un cercle en SVG incorporé:
Cercle dans
<canvas>
:la source
Vous pouvez utiliser quelques cercles Unicode:
Plus de formes ici .
Vous pouvez superposer du texte sur les cercles si vous souhaitez:
Afficher l'extrait de code
Vous pouvez également utiliser une police personnalisée (comme celle- ci) si vous voulez avoir plus de chances qu'elle ait la même apparence sur différents systèmes, car tous les ordinateurs / navigateurs n'ont pas les mêmes polices installées.
la source
border-radius:50%
si vous voulez que le cercle s'adapte aux dimensions du conteneur (par exemple, si le texte est de longueur variable)N'oubliez pas les préfixes
-moz-
et-webkit-
!la source
À partir de 2015, vous pouvez le créer et centrer le texte avec aussi peu que 15 lignes de CSS ( Fiddle ):
Sans aucun
-webkit-
s, cela fonctionne sur IE11, Firefox, Chrome et Opera, et il est valide HTML5 (expérimental) et CSS3.Idem sur MS Edge (2020).
la source
la source
Vous pouvez utiliser l'attribut border-radius pour lui donner un border-radius équivalent au border-radius de l'élément. Par exemple:
(La raison de l'utilisation des extensions -moz et -webkit est de prendre en charge les versions pré-CSS3-final de Gecko et Webkit.)
Il y a plus d'exemples sur cette page . En ce qui concerne l'insertion de texte, vous pouvez le faire, mais vous devez être attentif au positionnement, car le modèle de remplissage de boîte de la plupart des navigateurs utilise toujours le carré extérieur.
la source
Il n'y a pas techniquement un moyen de dessiner un cercle avec HTML (il n'y a pas de
<circle>
balise HTML), mais un cercle peut être dessiné.La meilleure façon d'en dessiner un est de l'ajouter
border-radius: 50%
à une balise telle quediv
. Voici un exemple:la source
border-radius: 50%;
transformera tous les éléments en cercle, quelle que soit leur taille. Au moins, tant que lesheight
etwidth
de la cible sont identiques, sinon elle se transformera en ovale .Remarque : les préfixes de navigateur ne sont plus nécessaires pour border-radius
Vous pouvez également utiliser
clip-path: circle();
pour transformer un élément en cercle. Même si l'élément a un plus grandwidth
queheight
(ou l'inverse), il deviendra toujours un cercle et non un ovale.Remarque : le chemin du clip n'est pas (encore) pris en charge par tous les navigateurs
Vous pouvez placer du texte à l'intérieur du cercle, simplement en écrivant le texte à l'intérieur des balises de la cible,
comme ceci:
Si vous souhaitez centrer le texte dans le cercle, vous pouvez effectuer les opérations suivantes:
la source
Vous pouvez utiliser la propriété border-radius ou créer un div avec une hauteur et une largeur fixes et un arrière-plan avec un cercle png.
la source
Procédez simplement comme suit dans les balises de script:
Et là vous allez, vous avez votre cercle.
la source
la source
la source
simple et novice :)
la source
la source
Si vous utilisez sass pour écrire votre CSS, vous pouvez faire:
Quelles sorties:
Essayez-le ici: https://www.sassmeister.com/
la source