Heim > Web-Frontend > Front-End-Fragen und Antworten > JavaScript-Einstellungen für abgerundete Rechtecke

JavaScript-Einstellungen für abgerundete Rechtecke

WBOY
Freigeben: 2023-05-12 18:29:08
Original
1181 Leute haben es durchsucht

Beim Webdesign und der Webentwicklung werden häufig abgerundete Rechtecke verwendet, um die Benutzeroberfläche zu verschönern, und JavaScript ist eines der gängigen Tools, um diesen Effekt zu erzielen. In diesem Artikel wird erläutert, wie Sie mithilfe von JavaScript den Effekt abgerundeter Rechtecke festlegen.

1. CSS implementiert abgerundete Rechtecke

Bevor wir JavaScript zur Implementierung abgerundeter Rechtecke einführen, wollen wir zunächst verstehen, wie CSS abgerundete Rechtecke implementiert. Mit der in CSS3 eingeführten Eigenschaft border-radius kann die Größe der abgerundeten Ecken von Elementen einfach festgelegt werden. Zum Beispiel:

div {
    border-radius: 10px;
}
Nach dem Login kopieren

Dies verleiht einem div-Element einen abgerundeten 10-Pixel-Effekt an allen vier Ecken. Wenn Sie nur eine bestimmte Ecke abrunden möchten, können Sie den folgenden Code verwenden:

div {
    border-top-left-radius: 10px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 15px;
}
Nach dem Login kopieren

Dadurch werden die abgerundeten Ecken der oberen linken Ecke, der oberen rechten Ecke, der unteren linken Ecke und der unteren rechten Ecke des div-Elements 10px, 20px groß , 5px bzw. 15px.

2. JavaScript zum Implementieren abgerundeter Rechtecke

Wenn Sie in JavaScript dynamisch ein abgerundetes Rechteck erstellen müssen, können Sie das Canvas-Element verwenden. Canvas ist ein Tag in HTML5, mit dem Grafiken, Animationen usw. gezeichnet werden können.

Die folgenden Schritte sind zum Zeichnen eines abgerundeten Rechtecks ​​mit JavaScript und Canvas:

  1. Holen Sie sich das Canvas-Element und sein Kontextobjekt
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
Nach dem Login kopieren
  1. Zeichnen Sie den Pfad und legen Sie die Verrundungsgröße des abgerundeten Rechtecks ​​fest
ctx.beginPath();
ctx.moveTo(x + cornerRadius, y);
ctx.lineTo(x + width - cornerRadius, y);
ctx.arcTo(x + width, y, x + width, y + cornerRadius, cornerRadius);
ctx.lineTo(x + width, y + height - cornerRadius);
ctx.arcTo(x + width, y + height, x + width - cornerRadius, y + height, cornerRadius);
ctx.lineTo(x + cornerRadius, y + height);
ctx.arcTo(x, y + height, x, y + height - cornerRadius, cornerRadius);
ctx.lineTo(x, y + cornerRadius);
ctx.arcTo(x, y, x + cornerRadius, y, cornerRadius);
Nach dem Login kopieren
  1. Setzen Sie die Füll- und Strichfarbe, die Breite und andere Attribute.
ctx.fillStyle = "#ff0000";  // 填充颜色
ctx.strokeStyle = "#000";   // 描边颜色
ctx.lineWidth = borderSize; // 描边宽度
Nach dem Login kopieren
  1. Füllen oder streichen Sie den Pfad. Sie können sowohl die Füll- als auch die Strichmethode oder nur eine davon verwenden.
ctx.fill();     // 填充路径
ctx.stroke();   // 描边路径
Nach dem Login kopieren

Zusammenfassend lautet der JavaScript-Code des gesamten Zeichenvorgangs wie folgt:

function drawRoundedRect(x, y, width, height, cornerRadius, borderSize) {
    var canvas = document.getElementById("myCanvas");
    var ctx = canvas.getContext("2d");

    // 绘制路径
    ctx.beginPath();
    ctx.moveTo(x + cornerRadius, y);
    ctx.lineTo(x + width - cornerRadius, y);
    ctx.arcTo(x + width, y, x + width, y + cornerRadius, cornerRadius);
    ctx.lineTo(x + width, y + height - cornerRadius);
    ctx.arcTo(x + width, y + height, x + width - cornerRadius, y + height, cornerRadius);
    ctx.lineTo(x + cornerRadius, y + height);
    ctx.arcTo(x, y + height, x, y + height - cornerRadius, cornerRadius);
    ctx.lineTo(x, y + cornerRadius);
    ctx.arcTo(x, y, x + cornerRadius, y, cornerRadius);

    // 设定颜色、宽度等属性
    ctx.fillStyle = "#ff0000";  // 填充颜色
    ctx.strokeStyle = "#000";   // 描边颜色
    ctx.lineWidth = borderSize; // 描边宽度

    // 填充路径或描边路径
    ctx.fill();     // 填充路径
    ctx.stroke();   // 描边路径
}
Nach dem Login kopieren

Verwenden Sie diese Funktion, um ein abgerundetes Rechteck im angegebenen Bereich zu zeichnen, z. B.:

drawRoundedRect(50, 50, 200, 100, 20, 3);
Nach dem Login kopieren

Dadurch wird eine Breite an den Koordinaten gezeichnet (50, 50) Ein abgerundetes Rechteck mit einer Höhe von 200, einer Höhe von 100, einer abgerundeten Ecke von 20 Pixel und einer Strichbreite von 3 Pixel.

3. Zusammenfassung

In diesem Artikel werden zwei Methoden vorgestellt, um den abgerundeten Rechteckeffekt zu erzielen: CSS und JavaScript. CSS kann die abgerundete Eckengröße von Elementen bequem festlegen, funktioniert jedoch nur auf statischen Seiten. Wenn Sie in JavaScript dynamisch einen abgerundeten Rechteckeffekt erstellen müssen, können Sie das Canvas-Element verwenden. Zeichnen Sie einen Pfad auf der Leinwand und legen Sie Eigenschaften wie Farbe und Breite fest, um einen abgerundeten Rechteckeffekt zu erzielen.

Das obige ist der detaillierte Inhalt vonJavaScript-Einstellungen für abgerundete Rechtecke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage