Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Einstellungen für abgerundete Rechtecke

JavaScript-Einstellungen für abgerundete Rechtecke

WBOY
WBOYOriginal
2023-05-12 18:29:081066Durchsuche

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;
}

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;
}

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");
  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);
  1. Setzen Sie die Füll- und Strichfarbe, die Breite und andere Attribute.
ctx.fillStyle = "#ff0000";  // 填充颜色
ctx.strokeStyle = "#000";   // 描边颜色
ctx.lineWidth = borderSize; // 描边宽度
  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();   // 描边路径

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();   // 描边路径
}

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

drawRoundedRect(50, 50, 200, 100, 20, 3);

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!

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