Heim  >  Artikel  >  Web-Frontend  >  Wie können Sie mithilfe von CSS Segmente in einem Kreis erstellen und unterschiedliche Slice-Anforderungen bewältigen?

Wie können Sie mithilfe von CSS Segmente in einem Kreis erstellen und unterschiedliche Slice-Anforderungen bewältigen?

DDD
DDDOriginal
2024-10-25 08:12:28510Durchsuche

How Can You Create Segments in a Circle Using CSS and Handle Different Slice Requirements?

Segmente in einem Kreis mit CSS: Umgang mit unterschiedlichen Slice-Anforderungen

Während CSS das Erstellen von Kreisen mithilfe des Randradius-Hacks ermöglicht, erweitert diese Technik Das Einbeziehen von Segmenten stellt eine Herausforderung dar. Es gibt jedoch eine Lösung, die darin besteht, CSS und SCSS zu kombinieren, um dies zu erreichen, ohne auf JavaScript zurückgreifen zu müssen.

Generieren gleicher Slices

Wenn die Slices keine unterschiedlichen Elemente erfordern und Sind alle gleich groß, bietet SCSS die Flexibilität, eine Liste von Stopps für einen konischen Gradienten zu erstellen. Bei gegebener Farbpalette kann eine SCSS-Funktion die Stopps gleichmäßig um den Kreis verteilen.

<code class="scss">@function stops($c) {
  $n: length($c);
  $p: 100%/$n;
  $l: ();

  @for $i from 1 through $n {
    $l: $l, nth($c, $i) 
      if($i > 1, 0%, unquote(''))
      if($i < $n, round($i*$p), unquote(''))
  }

  @return $l
}</code>

Verwendung von Conic-Gradient für Segmente

Nachdem die Stoppliste generiert wurde, Ein konischer Farbverlauf wird verwendet, um die Segmente auf das kreisförmige Element zu malen. Für gleich große Segmente ist der Code einfach:

<code class="css">.pie {
  width: 20em;
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(stops($c))
}</code>

Startwinkel steuern

Um sicherzustellen, dass die Segmente in einem bestimmten Winkel beginnen (außer 12°). Clock) kann das Schlüsselwort from zum conic-gradient() hinzugefügt werden:

<code class="css">background: conic-gradient(from 17deg, stops($c))</code>

Umgang mit inhaltsreichen Slices

Für Segmente, die Inhalte benötigen oder benötigen Für eine Animation außerhalb des Kreises ist ein komplexerer Ansatz erforderlich. Dabei werden Pseudoelemente und CSS-Animationen verwendet, um das gewünschte Ergebnis zu erzielen.

Das obige ist der detaillierte Inhalt vonWie können Sie mithilfe von CSS Segmente in einem Kreis erstellen und unterschiedliche Slice-Anforderungen bewältigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn