Clip implementiert Ring-Fortschrittsbalken in CSS3
Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zum Beispielcode des CSS3-Clips zur Implementierung des Ring-Fortschrittsbalkens vor. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.
Es gibt eine CSS-Eigenschaft namens „clip“, was „Trimmen“ bedeutet.
Clip-Eigenschaft schneidet absolut positionierte Elemente ab. Diese Eigenschaft wird verwendet, um ein Beschneidungsrechteck zu definieren. Bei einem absolut definierten Element ist nur der Inhalt innerhalb des Rechtecks sichtbar. Inhalte außerhalb dieses Beschneidungsbereichs werden entsprechend dem Überlaufwert verarbeitet.
Ring-Fortschrittsbalken.gif
Wie kann man den Effekt eines solchen Ring-Fortschrittsbalkens erzielen? Lassen Sie uns heute darüber sprechen, wie Sie es mit CSS3 implementieren.
Implementierungsideen
Der Ring ist sehr einfach. Eine Zeile von cssborder-radius:50% kann implementiert werden, und es gibt kein Kompatibilitätsproblem IE, lass es raus...
Wir brauchen hier drei Ringe, einen vollen und zwei halbe. Ich habe das Bild unten grob gezeichnet
Hier habe ich einen Clip verwendet, um den halbkreisförmigen Ring auszuschneiden. Der Hauptcode lautet wie folgt:
.left{ width: 200px; height: 200px; border-radius: 50%; border: 10px solid lightblue; position:absolute; top: -10px; /* 10的原因是因为边框是10个像素 */ right: -10px; clip: rect(0 100px 200px 0); /* 上面为0 右边到100px 下面200px 左边到0 这个区域的我们裁剪出来 */ }
Die rechte Seite ist ähnlich, außer dass die Zuschneideposition geändert wurde
.right{ width: 200px; height: 200px; border-radius: 50%; border: 10px solid lightblue; position:absolute; top: -10px; /* 10的原因是因为边框是10个像素 */ right: -10px; clip: rect(0 200px 200px 100px); /* 位置更改,计算可以参考上图 */ }
Vollständiger Code
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> p{ box-sizing: border-box; } .box{ width: 200px; height: 200px; position: relative; background-color: #ccc; border-radius: 50%; left: 40%; top: 200px; } .num{ position: absolute; top: 50%; left: 50%; background: #fff; border-radius: 50%; width: 180px; height: 180px; transform: translate(-50%, -50%); text-align: center; line-height: 180px; font-size: 32px; } .clip{ width: 200px; height: 200px; position: absolute; border: 10px solid #ccc; border-radius: 50%; clip: rect(0, 200px, 200px, 100px); } .left{ width: 200px; height: 200px; position: absolute; border: 10px solid lightblue; border-radius: 50%; clip: rect(0 100px 200px 0); top: -10px; left: -10px; } .right{ width: 200px; height: 200px; position: absolute; border: 10px solid lightblue; border-radius: 50%; clip: rect(0 200px 200px 100px); top: -10px; left: -10px; } .width-none{ width: 0; } .auto{ clip: auto; } </style> </head> <body> <p class="box"> <p class="clip"> <p class="left"></p> <p class="right width-none"></p> </p> <p class="num"> </p> </p> <script > let clip = document.querySelector('.clip'), left = document.querySelector('.left'), right = document.querySelector('.right'), num = document.querySelector('.num'), rotate = 0; let loop = setInterval(() => { if(rotate >= 100){ rotate = 0; right.classList.add('width-none'); clip.classList.remove('auto'); } else if(rotate > 50){ right.classList.remove('width-none'); clip.classList.add('auto'); } rotate++; left.style.transform = 'rotate('+ 3.6*rotate + 'deg)'; num.innerHTML = `${rotate}%` },100) </script> </body> </html>
Erklären Sie kurz den obigen Code
1. Der rechte Halbkreis ist ausgeblendet. Dies liegt daran, dass wir den linken Halbkreis drehen müssen Damit sich der linke Halbkreis an die Position des rechten Kreises bewegt und dann die rechte Seite anzeigt, warten Sie einfach, bis er sich um 180 Grad dreht.
Gleichzeitig sehen wir, dass der Clip: rect(0, 200px, 200px, 100px); zum Hauptkreis hinzugefügt wird. Dies liegt daran, dass unser Fortschritt standardmäßig 0 % beträgt. und wir können es nur verbergen, wenn wir die rechte Seite auf der linken Seite anzeigen, aber ist unsere rechte Seite nicht verborgen? Was zeigt es dann? Denn wenn man es nach links dreht, sieht man den Kreis, der sich nach rechts dreht. Es ist etwas kompliziert, bitte kombinieren Sie es mit dem Code und verstehen Sie es besser
3. Wenn die linke Seite um 180 gedreht wird, müssen wir die rechte Seite anzeigen und den Zuschnitt des Box-Elements auf die Standardeinstellung setzen Wert, der kein Zuschneiden ist, sodass die linken und rechten Kreise vollständig angezeigt werden können.
4. Schließlich verwenden wir js, um den Drehwinkel zu steuern und den Prozentsatz auf der Seite anzuzeigen
Schreiben Sie am Ende
Wenn Sie können Ich sehe die obige Erklärung nicht. Verstehen Sie sie, lesen Sie sie einfach nicht, fügen Sie den Code in das lokale Debugging ein und verstehen Sie ihn selbst.
Seien Sie nicht zu ungeduldig, Code ist die beste Sprache.
Verwandte Empfehlungen:
CSS3-Methode zum Implementieren eines kreisförmigen Fortschrittsbalkens
Das obige ist der detaillierte Inhalt vonClip implementiert Ring-Fortschrittsbalken in CSS3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.
