"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > ## Pouvez-vous créer des segments de graphique à secteurs en CSS sans JavaScript ?

## Pouvez-vous créer des segments de graphique à secteurs en CSS sans JavaScript ?

Publié le 2024-11-06
Parcourir:124

## Can You Create Pie Chart Segments in CSS Without JavaScript?

Segments dans un cercle à l'aide de CSS

Créer des cercles en CSS à l'aide de border-radius est une pratique courante. Cependant, pouvons-nous obtenir un effet similaire avec des segments, semblables à un diagramme circulaire ? Cet article examine les moyens d'y parvenir uniquement via HTML et CSS, à l'exclusion de l'utilisation de JavaScript.

Générer des segments de taille égale

Une approche pour les segments de taille égale consiste à générer une liste d'arrêt pour un conic-gradient() utilisant SCSS. Nous pouvons créer une fonction SCSS personnalisée stop($c) pour générer ces arrêts en fonction des couleurs fournies ($c), garantissant un espacement égal. Cette fonction prend en compte le nombre de tranches, calcule l'angle de tranche en pourcentage et génère une liste d'arrêts avec les pourcentages appropriés.

Par exemple, avec une palette de couleurs de Coolors, nous pouvons utiliser nos arrêts () dans une déclaration conic-gradient() :

.pie {
  width: 20em; /* Desired pie diameter */
  aspect-ratio: 1; /* Square element */
  border-radius: 50%; /* Turn square into disc */
  background: conic-gradient(stops($c));
}

Cette approche permet des angles de tranche personnalisables en spécifiant un angle différent de celui dans conic-gradient().

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3