suchen
HeimWeb-FrontendCSS-Tutorial6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

Dieser Artikel stellt Ihnen N Techniken zum Zeichnen von Dreiecken mithilfe von CSS vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

In manchen Interviews taucht oft eine Frage zu CSS auf: „Wie zeichnet man mit CSS ein Dreieck?“ Die häufigste Antwort ist normalerweise, dass man zum Zeichnen einen Rahmen verwendet. Mit der heutigen Entwicklung von CSS gibt es tatsächlich viele interessante Möglichkeiten, Dreiecke nur mit CSS zu zeichnen. In diesem Artikel werden sie ausführlich aufgeführt.

In diesem Artikel erfahren Sie 6 Möglichkeiten, Dreiecke mit CSS zu zeichnen, und sie sind alle sehr einfach zu beherrschen. Natürlich ist dieser Artikel nur eine Einführung. Es kann sein, dass in diesem Artikel einige interessante Methoden fehlen

Die Verwendung von Rändern zur Implementierung von Dreiecken dürfte für die meisten Menschen gemeistert sein. Es kommt auch häufig auf verschiedenen Websites vor, wo Container ohne Höhe und Breite sowie transparente Ränder verwendet werden.

Der einfache Code lautet wie folgt:
div {
  border-top: 50px solid yellowgreen;
  border-bottom: 50px solid deeppink;
  border-left: 50px solid bisque;
  border-right: 50px solid chocolate;
}

Container mit Nullhöhe und -breite, Ränder in verschiedenen Farben festlegen:

Auf diese Weise, wenn die Farbe des Randes auf drei beliebigen Seiten transparent, es wird sehr einfach sein, Dreiecke mit verschiedenen Winkeln zu erhalten:

2 .png6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

CodePen-Demo – Rahmen verwenden, um Dreiecke zu implementieren

transparent,则非常容易得到各种角度的三角形:

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

CodePen Demo - 使用 border 实现三角形

https://codepen.io/Chokcoco/pen/GqrVpB

使用 linear-gradient 绘制三角形

接着,我们使用线性渐变 linear-gradient 实现三角形。

它的原理也非常简单,我们实现一个 45° 的渐变:

div {
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, deeppink, yellowgreen);
}

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

让它的颜色从渐变色变为两种固定的颜色:

div {
  width: 100px;
  height: 100px;
  background: linear-gradient(45deg, deeppink, deeppink 50%, yellowgreen 50%, yellowgreen 100%);
}

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

再让其中一个颜色透明即可:

div {
  background: linear-gradient(45deg, deeppink, deeppink 50%, transparent 50%, transparent 100%);
}

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

通过旋转 rotate 或者 scale,我们也能得到各种角度,不同大小的三角形,完整的 Demo 可以戳这里:

CodePen Demo - 使用线性渐变实现三角形

https://codepen.io/Chokcoco/pen/RwKKOZw

使用 conic-gradient 绘制三角形

还是渐变,上述我们使用了线性渐变实现三角形,有意思的是,在渐变家族中,角向渐变 conic-gradient 也可以用于实现三角形。

方法在于,角向渐变的圆心点是可以设置的,类似于径向渐变的圆心点也可以被设置。

我们将角向渐变的圆心点设置于 50% 0,也就是 center top,容器最上方的中间,再进行角向渐变,渐变到一定的角度范围内,都是三角形图形。

假设我们有一个 200px x 100px 高宽的容器,设置其角向渐变圆心点为 50% 0

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

并且,设置它从 90° 开始画角向渐变图,示意图如下:

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

可以看到,在初始的时候,角向渐变图形没有到第二条边的之前,都是三角形,我们选取适合的角度,非常容易的可以得到一个三角形:

div {
    background: conic-gradient(from 90deg at 50% 0, deeppink 0, deeppink 45deg, transparent 45.1deg);
}

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

上述代码中的 deeppink 45deg, transparent 45.1deg 多出来的 0.1deg 是为了简单消除渐变产生的锯齿的影响,这样,我们通过 conic-gradient,也轻松的得到了一个三角形。

同理,再配合旋转 rotate 或者 scale,我们也能得到各种角度,不同大小的三角形,完整的 Demo 可以戳这里:

CodePen Demo - 使用角向渐变实现三角形

https://codepen.io/Chokcoco/pen/qBRRZJr

transform: rotate 配合 overflow: hidden 绘制三角形

这种方法还是比较常规的,使用 transform: rotate 配合 overflow: hiddenhttps://codepen.io/Chokcoco/pen/GqrVpB

🎜🎜 Verwenden Sie den linearen Farbverlauf, um Dreiecke zu zeichnen🎜🎜🎜Dann verwenden wir den linearen Farbverlauf linear-gradient, um das Dreieck zu implementieren. 🎜🎜Das Prinzip ist auch sehr einfach. Wir implementieren einen 45°-Gradienten: 🎜
.triangle {
    width: 141px;
    height: 100px;
    position: relative;
    overflow: hidden;
    
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: deeppink;
        transform-origin: left bottom;
        transform: rotate(45deg);
    }
}
🎜6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)🎜🎜Lassen Sie die Farbe von einer Verlaufsfarbe zu zwei festen Farben wechseln: 🎜
div {
    background: deeppink;
    clip-path: polygon(0 0, 100% 0, 0 100%, 0 0);
}
🎜6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)🎜🎜Machen Sie einfach eine der Farben transparent:🎜
◄ : ◄ 
► : ► 
▼ : ▼ 
▲ : ▲
⊿ : ⊿
△ : △
🎜6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)🎜🎜Durch Drehen drehen oder scale, wir können auch Dreiecke mit verschiedenen Winkeln und Größen erhalten. Die vollständige Demo kann hier angeklickt werden: 🎜
🎜CodePen-Demo – implementiert mit linearen Farbverläufen Dreieck🎜🎜https: //codepen.io/Chokcoco/pen/RwKKOZw🎜
🎜🎜Verwenden Sie den konischen Farbverlauf, um Dreiecke zu zeichnen🎜🎜🎜Oben haben wir den linearen Farbverlauf verwendet, um Dreiecke zu realisieren Gradient conic-gradient kann auch zur Implementierung von Dreiecken verwendet werden. 🎜🎜Die Methode besteht darin, den Mittelpunkt des Winkelgradienten festzulegen🎜 und auch den Mittelpunkt des Kreises ähnlich dem radialen Gradienten festzulegen. 🎜🎜Wir setzen den Mittelpunkt des Winkelgradienten auf 50 % 0, also Mitte oben, die Mitte der Oberseite des Containers, und führen dann den Winkel aus Gradient, bis der Gradient einen bestimmten Winkelbereich erreicht, sind sie alle dreieckige Formen. 🎜🎜Angenommen, wir haben einen Container mit einer Höhe und Breite von 200px x 100px und setzen seinen Winkelgradientenmittelpunkt auf 50 % 0: 🎜🎜6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)🎜🎜Und legen Sie es über fest 90° code> Beginnen Sie mit dem Zeichnen des Winkelgradientendiagramms. Das Diagramm sieht wie folgt aus: 🎜🎜<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/image/904/371/434/1622774875213800.gif?x-oss-process=image/resize,p_40" class="lazy" title="1622774875213800.gif" alt="6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)">🎜🎜Sie können sehen, dass die Winkelverlaufsgrafiken in der Anfangsphase Dreiecke sind, bis sie die zweite Seite erreichen. Wir wählen einen geeigneten Winkel und können ihn leicht erhalten ein Dreieck. :🎜<pre class='brush:php;toolbar:false;'>&lt;div class=&quot;normal&quot;&gt;&amp;#9660; &lt;/div&gt;</pre>🎜<img src="/static/imghwm/default1.png" data-src="https://img.php.cn/upload/image/473/819/672/1622774914344263.gif?x-oss-process=image/resize,p_40" class="lazy" title="1622774893396136 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)" alt="6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)">🎜 🎜Der <code>deeppink 45deg, transparent 45.1deg im obigen Code dient lediglich dazu, den durch den Farbverlauf verursachten Aliasing-Effekt zu beseitigen. Auf diese Weise übergeben wir conic-gradient und leicht ein Dreieck erhalten. 🎜🎜Ähnlich können wir mit Drehung drehen oder skalieren auch Dreiecke in verschiedenen Winkeln und Größen erhalten. Die vollständige Demo kann hier angeklickt werden: 🎜
🎜CodePen-Demo - Verwenden Sie einen Winkelgradienten, um Dreiecke zu implementieren🎜🎜https://codepen.io/Chokcoco/pen/qBRRZJr🎜
🎜🎜transform: rotieren mit Überlauf: versteckt, um Dreiecke zu zeichnen🎜🎜🎜Diese Methode ist noch relativ konventionell. Ja, Verwenden Sie transform: rotieren mit overflow: versteckt. Sie können es auf einen Blick verstehen und lernen. Das einfache Animationsdiagramm sieht wie folgt aus: 🎜

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

设置图形的旋转中心在左下角 left bottom,进行旋转,配合 overflow: hidden

完整的代码:

.triangle {
    width: 141px;
    height: 100px;
    position: relative;
    overflow: hidden;
    
    &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: deeppink;
        transform-origin: left bottom;
        transform: rotate(45deg);
    }
}

CodePen Demo - transform: rotate 配合 overflow: hidden 实现三角形

https://codepen.io/Chokcoco/pen/LYxyyPv

使用 clip-path 绘制三角形

clip-path 一个非常有意思的 CSS 属性。

clip-path CSS 属性可以创建一个只有元素的部分区域可以显示的剪切区域。区域内的部分显示,区域外的隐藏。剪切区域是被引用内嵌的 URL 定义的路径或者外部 SVG 的路径。

也就是说,使用 clip-path 可以将一个容器裁剪成任何我们想要的样子。

通过 3 个坐标点,实现一个多边形,多余的空间则会被裁减掉,代码也非常简单:

div {
    background: deeppink;
    clip-path: polygon(0 0, 100% 0, 0 100%, 0 0);
}

6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

CodePen Demo -  使用 clip-path 实现三角形

https://codepen.io/Chokcoco/pen/GRrmEzY

在这个网站中 -- CSS clip-path maker,你可以快捷地创建简单的 clip-path 图形,得到对应的 CSS 代码。

16 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

利用字符绘制三角形

OK,最后一种,有些独特,就是使用字符表示三角形。

下面列出一些三角形形状的字符的十进制 Unicode 表示码。

◄ : &#9668; 
► : &#9658; 
▼ : &#9660; 
▲ : &#9650;
⊿ : &#8895;
△ : &#9651;

譬如,我们使用 实现一个三角形 ▼,代码如下:

<div class="normal">&#9660; </div>
div {
    font-size: 100px;
    color: deeppink;
}

效果还是不错的:

16 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

然而,需要注意的是,使用字符表示三角形与当前设定的字体是强相关的,不同的字体绘制出的同一个字符是不一样的,我在 Google Font 上随机选取了几个不同的字体,分别表示同一个字符,得到的效果如下:

16 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen)

可以看到,不同字体的形状、大小及基线都是不一样的,所以如果你想使用字符三角形,确保用户的浏览器安装了你指定的字体,否则,不要使用这种方式。

完整的对比 Demo,你可以戳这里:

CodePen Demo -   使用字符实现三角形

https://codepen.io/Chokcoco/pen/abpWyzy

最后

好了,本文到此结束,关于使用 CSS 绘制三角的 6 种不同方式,希望对你有帮助 :)

原文地址:https://segmentfault.com/a/1190000039808190

作者:chokcoco

更多编程相关知识,请访问:编程视频!!

Das obige ist der detaillierte Inhalt von6 Tipps zum Zeichnen von Dreiecken mit CSS (Teilen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:segmentfault. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Wie viel Spezifität haben @Rules wie @Keyframes und @Media?Apr 18, 2025 am 11:34 AM

Ich habe diese Frage neulich bekommen. Mein erster Gedanke ist: seltsame Frage! Bei der Spezifität geht es um Selektoren, und Rules sind keine Selektoren, also ... irrelevant?

Können Sie @Media und @Support -Abfragen nisten?Können Sie @Media und @Support -Abfragen nisten?Apr 18, 2025 am 11:32 AM

Ja, Sie können, und es ist nicht wirklich wichtig in welcher Reihenfolge. Ein CSS -Präprozessor ist nicht erforderlich. Es funktioniert in regulären CSS.

Schnellschluck -Cache -BustingSchnellschluck -Cache -BustingApr 18, 2025 am 11:23 AM

Sie sollten auf jeden Fall weitausgestellte Cache-Header auf Ihren Vermögenswerten wie CSS und JavaScript (und Bilder und Schriftarten und was auch immer) festlegen. Das sagt dem Browser

Auf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtAuf der Suche nach einem Stapel, der die Qualität und Komplexität von CSS überwachtApr 18, 2025 am 11:22 AM

Viele Entwickler schreiben darüber, wie sie eine CSS -Codebasis pflegen können, aber nicht viele von ihnen schreiben darüber, wie sie die Qualität dieser Codebasis messen. Sicher, wir haben

Datalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenDatalist dient dazu, Werte vorzuschlagen, ohne Werte durchzusetzenApr 18, 2025 am 11:08 AM

Haben Sie jemals ein Formular gehabt, das ein kurzes, willkürliches Stück Text akzeptieren musste? Wie ein Name oder was auch immer. Das ist genau das, wofür es ist. Es gibt viele

Frontkonferenz in ZürichFrontkonferenz in ZürichApr 18, 2025 am 11:03 AM

Ich bin so aufgeregt, nach Zürich, der Schweiz, zur Frontkonferenz zu gehen (liebe diesen Namen und diese URL!). Ich war noch nie in der Schweiz, also bin ich aufgeregt

Erstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternErstellen einer serverlosen Full-Stack-Anwendung mit Cloudflare-MitarbeiternApr 18, 2025 am 10:58 AM

Eine meiner Lieblingsentwicklungen in der Softwareentwicklung war das Aufkommen von Serverless. Als Entwickler, der die Tendenz hat, sich in den Details festzuhalten

Erstellen dynamischer Routen in einer Nuxt -AnwendungErstellen dynamischer Routen in einer Nuxt -AnwendungApr 18, 2025 am 10:53 AM

In diesem Beitrag werden wir eine E -Commerce -Store -Demo verwenden, die ich für Netlify erstellt und bereitgestellt habe, um zu zeigen, wie wir dynamische Routen für eingehende Daten erstellen können. Es ist fair

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.