Inhaltsverzeichnis
1. Grundwissensreserve
2. Praktischer Kampf
2.1 Viereck
2.1.1 Quadrat
2.1.2 Rechteck
2.1.3 Parallelogramm
2.2 Dreieck
2.2.1 Spitzes Dreieck
2.2.2 Rechtwinkliges Dreieck
2.3 五边形
2.4 六边形
Heim Web-Frontend CSS-Tutorial CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

Sep 16, 2021 am 10:57 AM
css 三角形 六边形 多边形

Wie zeichne ich Polygone mit reinem CSS? In diesem Artikel erfahren Sie, wie Sie Dreiecke ausgehend von reinem CSS zeichnen und die Methoden zum Zeichnen von Vierecken, Fünfecken und Sechsecken vorstellen. Ich hoffe, dass dies für alle hilfreich ist.

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

Heute werde ich eine CSS-Frage studieren, die oft in Interviews getestet wird, nämlich die Verwendung von CSS zum Zeichnen von Polygonen. Dieses Mal müssen Sie am Beispiel von Dreiecken, Vierecken, Fünfecken und Sechsecken einige notwendige Kenntnisse beherrschen, bevor Sie beginnen.

1. Grundwissensreserve

Dieses Mal werden wir reine CSS-Kenntnisse verwenden, um einige Formen zu zeichnen. Um diese Formen zu zeichnen, lernen Sie zunächst die erforderlichen grundlegenden CSS-Wissenspunkte – CSS-Boxmodell. [Verwandte Empfehlung: „CSS-Video-Tutorial“]

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

Wie Sie auf dem Bild oben sehen können, besteht das Standard-Box-Modell aus Inhalt, Polsterung, Rand und Rand ein Blick auf die konkrete Situation.

<!--HTML部分,此部分代码若是不变,后面将复用不在赘述-->
<div id="main"></div>
Nach dem Login kopieren
/*css部分*/ 
#main { 
  width: 100px;
  height: 100px;
  border: 200px solid red; 
}
Nach dem Login kopieren

Das Rendering ist wie folgt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

2. Praktischer Kampf

Nur reden und nicht üben, jetzt verwenden wir diese grundlegenden CSS-Eigenschaften, um gängige Dreiecke, Vierecke, Fünfecke zu zeichnen ...

2.1 Viereck

Wenn Sie das Attribut „Hintergrundfarbe“ nicht direkt zum Zeichnen eines Vierecks verwenden können, können wir aus der obigen Abbildung ersehen, dass wir ein Viereck erhalten können, wenn Sie die Breite und Höhe des Inhalts auf 0 und die Breite und Höhe des Rahmens festlegen Ein Viereck besteht aus Rändern. Vierecke sind in Quadrate, Parallelogramme, Rechtecke usw. unterteilt. Lassen Sie uns hier Ränder verwenden, um die oben genannten drei Formen zu realisieren.

2.1.1 Quadrat

Lassen Sie uns zunächst das einfachste Quadrat implementieren.

#main {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid red;
  border-left: 200px solid black;
  border-right: 200px solid blue;
  border-top: 200px solid pink;
}
Nach dem Login kopieren
Nach dem Login kopieren

Der Effekt ist wie folgt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

2.1.2 Rechteck

In 2.1.1 haben wir das Quadrat bereits mithilfe von border implementiert, also implementieren wir als nächstes das Rechteck, basierend auf dem, was wir gelernt haben. Für Mathematik Wissen, wir müssen nur die Länge und Breite des Quadrats anpassen, sodass die Länge ≠ die Breite ist. Als nächstes implementieren wir es.

#main {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid red;
  border-left: 100px solid red;
  border-right: 100px solid red;
  border-top: 200px solid red;
}
Nach dem Login kopieren

Der Effekt ist wie in der folgenden Abbildung dargestellt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

2.1.3 Parallelogramm

PS: Die Implementierung eines Parallelogramms erfordert die Verwendung von zwei Dreiecken, daher wird empfohlen, es hier zu überspringen. Bitte lesen Sie weiter 2.2 Sehen Sie sich zuerst die Dreiecksimplementierung an und schauen Sie sich dann hier die Parallelogrammmethode an.

Hier wird davon ausgegangen, dass Sie den Inhalt von 2.2 vollständig gelesen haben. Als nächstes realisieren Sie das Parallelogramm.

<div id="wrapper">
	<div class="public"></div>
	<div class="public move"></div>
</div>
Nach dem Login kopieren
*{
   margin: 0;
}
#wrapper {
	  position: relative;
}
.public {
   width: 0px;
   height: 0px;
  border-bottom: 200px solid red;
  border-left: 200px solid transparent;
  border-right: 200px solid transparent;
  border-top: 200px solid transparent;
  position: absolute;
}
.move {
  transform: rotate(180deg);
  top: 200px;
  left: 200px;
}
Nach dem Login kopieren

Der Effekt ist wie im Bild unten dargestellt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

2.2 Dreieck

Bisher wurde das einfachste Viereck fertiggestellt. Haben Sie zu diesem Zeitpunkt bereits ein Gefühl? Machen wir weiter. Da Grenzen Vierecke realisieren können, gibt es natürlich viele Arten von Dreiecken, die man in spitze Dreiecke, rechtwinklige Dreiecke und stumpfe Dreiecke unterteilen kann. einmal.

2.2.1 Spitzes Dreieck

Werfen wir zunächst einen Blick auf die Situation links, rechts, oben und unten am Rand, wenn Breite und Höhe des Inhalts jeweils 0 sind.

#main {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid red;
  border-left: 200px solid black;
  border-right: 200px solid blue;
  border-top: 200px solid pink;
}
Nach dem Login kopieren
Nach dem Login kopieren

Die Darstellung ist wie folgt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

Wie auf dem Bild zu sehen ist, belegen links, rechts, oben und unten alle ein Dreieck. Wenn wir also ein bestimmtes Dreieck benötigen, müssen wir nur das andere ausblenden Drei Dreiecke Das ist es. Wir können den transparenten Attributwert verwenden, um den Rand zu verbergen, also implementieren wir ihn.

#main {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid red;
  border-left: 200px solid transparent;
  border-right: 200px solid transparent;
  border-top: 200px solid transparent;
}
Nach dem Login kopieren

Der Effekt ist wie im Bild gezeigt:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

2.2.2 Rechtwinkliges Dreieck

Jetzt können wir ein rechtwinkliges Dreieck basierend auf dem Bild oben zeichnen. Zeigen Sie einfach die beiden Randseiten. Probieren wir den Code aus. Der Effekt ist wie im Bild dargestellt: Überlegen wir also, wie wir ein stumpfes Dreieck umsetzen können. Es ist nicht möglich, dem bisherigen Denken zu folgen, also müssen wir unser Denken ändern.

我们可以用两个直角三角形,将小的直角三角形覆盖在大的上面,让我们试一下吧!!

<div id="main1"></div>
<div id="main2"></div>
Nach dem Login kopieren
#main1 {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid red;
  border-left: 200px solid transparent;
}
#main2 {
  width: 0px;
  height: 0px;
  border-bottom: 200px solid black;
  border-left: 150px solid transparent;
  position: absolute;
  /*这里8px是浏览器中的margin自带的间距,之前没有处理*/
  top: 8px;
  left: 58px;
}
Nach dem Login kopieren

效果图如下所示:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

这次通过绝对定位来控制小的直角三角形,那么我们可以通过控制黑色三角形的颜色来显示钝角三角形。

2.3 五边形

三角形都已经学会了,那么很多图形都可以通过三角形拼凑得来,就以五边形为例,这里将以多个三角形来画出五边形。

<div id="wrapper">
    <div class="main1 tool"></div>
    <div class="main2 tool"></div>
    <div class="main3 tool"></div>
    <div class="main4 tool"></div>
    <div class="main5 tool"></div>
</div>
Nach dem Login kopieren
*{
    margin: 0;
}
#wrapper {
    position: relative;
    top: 300px;
    margin-left: 300px;
}
.main2 {
    transform: rotate(72deg);
}
.main3 {
    transform: rotate(144deg);
}
.main4 {
    transform: rotate(216deg);
}
.main5 {
    transform: rotate(288deg);
}
.tool{
    width: 0px;
    height: 0px;
    border-right: 58px solid transparent;
    border-left: 58px solid transparent;
    border-bottom: 160px solid red;
    position: absolute;
    top: 0;
    left: 0;
}
Nach dem Login kopieren

效果如下图所示:

CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

实现五边形的主要难点在于border的三个边的取值,以及旋转的角度。

2.4 六边形

到目前为止三角行、四、五边形的三种形式都实现了一遍,他们均是通过border来实现的,那么让我们来想一下怎么画出一个六边形,有条件的可以在纸上画画,我们可以把一个五边形分成6个等边三角形,让我们通过上面所学知识来实现一下六边形吧!

<div id="wrapper">
  <div class="main1 tool"></div>
  <div class="main2 tool"></div>
  <div class="main3 tool"></div>
  <div class="main4 tool"></div>
  <div class="main5 tool"></div>
  <div class="main6 tool"></div>
</div>
Nach dem Login kopieren
*{
  margin: 0;
}
#wrapper {
  position: relative;
  top: 300px;
  margin-left: 300px;
}
.main2 {
  transform: rotate(60deg);
}
.main3 {
  transform: rotate(120deg);
}
.main4 {
  transform: rotate(180deg);
}
.main5 {
  transform: rotate(240deg);
}
.main6 {
  transform: rotate(300deg);
}
.tool{
  width: 0px;
  height: 0px;
  border-right: calc(60px / 1.732) solid transparent;
  border-left: calc(60px / 1.732) solid transparent;
  border-bottom: 60px solid red;
  transform-origin: top;
  position: absolute;
  top: 0;
  left: 0;
}
Nach dem Login kopieren

1CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

通过上面的方法实现五边形,这边难点主要是画出等边三角形。

上面的方法已经实现了,让我们想想其他的方法实现一下吧,这里我们将通过三个四边形实现五边形,让我们一下实验一下吧!!

<div id="wrapper">
  <div class="main1 tool"></div>
  <div class="main2 tool"></div>
  <div class="main3 tool"></div>
</div>
Nach dem Login kopieren
*{
    margin: 0;
}
#wrapper {
    position: relative;
    top: 300px;
    margin-left: 300px;
}
.main1 {
    width: calc(120px / 1.732);
    height: 120px;
    background-color: black;
}
.main2 {
    width: calc(120px / 1.732);
    height: 120px;
    transform: rotate(120deg);
    background-color: black;
}
.main3 {
    width: calc(120px / 1.732);
    height: 120px;
    transform: rotate(240deg);
    background-color: black;
}
.tool{
    position: absolute;
    top: 0;
    left: 0;
}
Nach dem Login kopieren

1CSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke)

好了,目前已经讲述了三角形,四边形,五边形,六边形得到实现方式了,更高的实现方式就以此类推了。

原文地址:https://juejin.cn/post/7001772184498601991

作者:执鸢者

更多编程相关知识,请访问:编程入门!!

Das obige ist der detaillierte Inhalt vonCSS-FAQ: So zeichnen Sie Polygone (Dreiecke ~ Sechsecke). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

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

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was bedeutet Platzhalter in Vue? Was bedeutet Platzhalter in Vue? May 07, 2024 am 09:57 AM

In Vue.js gibt das Platzhalterattribut den Platzhaltertext des Eingabeelements an, der angezeigt wird, wenn der Benutzer keinen Inhalt eingegeben hat, Eingabetipps oder Beispiele bereitstellt und die Barrierefreiheit des Formulars verbessert. Seine Verwendung besteht darin, das Platzhalterattribut für das Eingabeelement festzulegen und das Erscheinungsbild mithilfe von CSS anzupassen. Zu den Best Practices gehört es, relevant für die Eingabe zu sein, kurz und klar zu sein, Standardtexte zu vermeiden und die Barrierefreiheit zu berücksichtigen.

Was bedeutet span in js Was bedeutet span in js May 06, 2024 am 11:42 AM

Das Span-Tag kann Stile, Attribute oder Verhaltensweisen zum Text hinzufügen. Es wird verwendet, um Stile wie Farbe und Schriftgröße hinzuzufügen. Legen Sie Attribute wie ID, Klasse usw. fest. Zugehörige Verhaltensweisen wie Klicks, Hovers usw. Markieren Sie Text zur weiteren Bearbeitung oder zum Zitieren.

Was bedeutet rem in js Was bedeutet rem in js May 06, 2024 am 11:30 AM

REM in CSS ist eine relative Einheit relativ zur Schriftgröße des Stammelements (HTML). Es weist die folgenden Merkmale auf: relativ zur Schriftgröße des Stammelements, nicht vom übergeordneten Element beeinflusst. Wenn sich die Schriftgröße des Stammelements ändert, werden Elemente, die REM verwenden, entsprechend angepasst. Kann mit jeder CSS-Eigenschaft verwendet werden. Zu den Vorteilen der Verwendung von REM gehören: Reaktionsfähigkeit: Halten Sie den Text auf verschiedenen Geräten und Bildschirmgrößen lesbar. Konsistenz: Stellen Sie sicher, dass die Schriftgrößen auf Ihrer gesamten Website einheitlich sind. Skalierbarkeit: Ändern Sie die globale Schriftgröße ganz einfach, indem Sie die Schriftgröße des Stammelements anpassen.

So führen Sie Bilder in Vue ein So führen Sie Bilder in Vue ein May 02, 2024 pm 10:48 PM

Es gibt fünf Möglichkeiten, Bilder in Vue einzuführen: über URL, Require-Funktion, statische Datei, V-Bind-Direktive und CSS-Hintergrundbild. Dynamische Bilder können in den berechneten Eigenschaften oder Listenern von Vue verarbeitet werden, und gebündelte Tools können zum Optimieren des Bildladens verwendet werden. Stellen Sie sicher, dass der Pfad korrekt ist, da sonst ein Ladefehler auftritt.

Welche Funktion hat das Span-Tag? Welche Funktion hat das Span-Tag? Apr 30, 2024 pm 01:54 PM

Das SPAN-Tag ist ein Inline-HTML-Tag, das zum Hervorheben von Text durch Anwenden von Attributen wie Stil, Farbe und Schriftgröße verwendet wird. Dazu gehören das Hervorheben von Text, das Gruppieren von Text, das Hinzufügen von Hover-Effekten und das dynamische Aktualisieren von Inhalten. Es wird verwendet, indem <span>- und </span>-Tags um den Text herum platziert werden, den Sie hervorheben möchten, und wird über CSS-Stil oder JavaScript manipuliert. Zu den Vorteilen von SPAN-Tags zählen semantische Klarheit, Gestaltungsflexibilität und einfache Wartung.

So verpacken Sie eine Eingabeaufforderung in js So verpacken Sie eine Eingabeaufforderung in js May 01, 2024 am 06:24 AM

Wenn Sie die Methode prompt() in JavaScript verwenden, können Sie Zeilenumbrüche durch die folgenden drei Methoden erreichen: 1. Fügen Sie das Zeichen „\n“ an der Position ein, an der Sie die Zeile umbrechen möchten. 2. Verwenden Sie das Zeilenumbruchzeichen in der Zeile Eingabeaufforderungstext; 3. Verwenden Sie den CSS-Stil „white“ -space: pre“, um Zeilenumbrüche zu erzwingen.

In welcher Sprache ist das Browser-Plugin geschrieben? In welcher Sprache ist das Browser-Plugin geschrieben? May 08, 2024 pm 09:36 PM

Browser-Plugins werden normalerweise in den folgenden Sprachen geschrieben: Front-End-Sprachen: JavaScript, HTML, CSS Back-End-Sprachen: C++, Rust, WebAssembly Andere Sprachen: Python, Java

Was ist ein Knoten in js? Was ist ein Knoten in js? May 07, 2024 pm 09:06 PM

Knoten sind Entitäten im JavaScript-DOM, die HTML-Elemente darstellen. Sie stellen ein bestimmtes Element auf der Seite dar und können verwendet werden, um auf dieses Element zuzugreifen und es zu bearbeiten. Zu den gängigen Knotentypen gehören Elementknoten, Textknoten, Kommentarknoten und Dokumentknoten. Über DOM-Methoden wie getElementById() können Sie auf Knoten zugreifen und diese bearbeiten, einschließlich der Änderung von Eigenschaften, dem Hinzufügen/Entfernen untergeordneter Knoten, dem Einfügen/Ersetzen von Knoten und dem Klonen von Knoten. Das Durchqueren von Knoten hilft bei der Navigation innerhalb der DOM-Struktur. Knoten sind nützlich für die dynamische Erstellung von Seiteninhalten, die Ereignisbehandlung, Animation und Datenbindung.

See all articles