Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Wofür werden Mixins in LESS verwendet?

王林
Freigeben: 2023-09-03 20:45:02
nach vorne
901 Leute haben es durchsucht

LESS 中 Mixins 有什么用?

Zusammenfassend lässt sich sagen, dass Mixins eine Möglichkeit bieten, eine Reihe von CSS-Eigenschaften zu gruppieren und sie in verschiedenen Regelsätzen in einem Stylesheet wiederzuverwenden. Wenn wir ein Mixin in einen Regelsatz aufnehmen, werden alle im Mixin definierten CSS-Eigenschaften dem Regelsatz hinzugefügt, der das Mixin enthält.

Durch die Definition von Mixins können Entwickler verwandte Stile gruppieren und auf mehrere Selektoren anwenden, wodurch es einfacher wird, einen konsistenten Stil auf einer Website oder Anwendung beizubehalten.

Lassen Sie es uns anhand des folgenden Beispiels verstehen. Auf diese Weise erhalten Sie weitere Informationen zu Mixins.

Grammatik

Benutzer können Mixins in LESS gemäß der folgenden Syntax verwenden.

.mixin-name {
} 
.selector {
   .mixin-name();
}
Nach dem Login kopieren

In der obigen Syntax ist „.mixin-name“ der Name des Mixins und wir können jede CSS-Eigenschaft definieren, die in den Block aufgenommen werden soll.

„.selector“ ist der Selektor, den wir dem Mixin hinzufügen möchten. Wir schließen das Mixin ein, indem wir seinen Namen gefolgt von () aufrufen.

Funktionen von Mixin

Mixins sind eine leistungsstarke Funktion von LESS, die Entwicklern zahlreiche Vorteile bietet –

Mischen mit Klammern

Wir können auch Argumente an Mixins übergeben, um deren Verhalten anzupassen -

.mixin-name(@arg1, @arg2) {
   /* CSS properties using @arg1 and @arg2 */
} 
.selector {
   .mixin-name(value1, value2);
}
Nach dem Login kopieren

Verschachtelte Mischung

Verschachtelte Mixins ermöglichen es uns, Mixins innerhalb anderer Mixins zu verwenden. Dadurch bleibt unser Code organisiert und modularer.

Dies ist ein Beispiel für verschachtelte Mixins in LESS -

// Define a mixin for setting font properties
.font-properties(@size: 14px, @weight: normal, @style: normal, @line-height: 1.5) {
   font-size: @size;
   font-weight: @weight;
   font-style: @style;
   line-height: @line-height;
} 
// Define a mixin for setting text properties
.text-properties(@color: #333, @align: left, @decoration: none) {
   color: @color;
   text-align: @align;
   text-decoration: @decoration;  
   // Use the .font-properties mixin to set font properties within the .text-properties mixin
   .font-properties();
} 
// Use the .text-properties mixin within the h1 selector
h1 {
   .text-properties(@color: red, @size: 24px);
}
Nach dem Login kopieren

Selektoren in Mixin

Mixins in LESS ermöglichen es Entwicklern, nicht nur Eigenschaften, sondern auch Selektoren in Regelsätze aufzunehmen. Hier ist ein Beispiel -

.hover-effect() { 
   &:hover {
      background-color: #f7f7f7; color: #333; 
   } 
}
.btn {
   .hover-effect(); 
   background-color: #333; 
   color: #fff; 
}
Nach dem Login kopieren

Beispiel 1

In diesem Beispiel definiert das Mixin „.bordered“ eine Reihe von Rahmenstilen für das Element. Anschließend fügen wir dieses Mixin in andere Selektoren wie #menu a und .post a ein, um diese Rahmenstile auch auf diese Elemente anzuwenden.

In der Ausgabe kann der Benutzer in den Ergebnissen sehen, dass #menu a und .post a denselben Rahmenstil haben, der im .bordered-Mixin definiert ist, sowie alle anderen Stile, die in diesen Selektoren definiert sind.

.bordered {
   border-top: 1px solid red;
   border-bottom: 2px solid black;
} 
#menu a {
   color: blue;
   .bordered();
} 
.post a {
   color: red;
   .bordered();
}
Nach dem Login kopieren

Ausgabe

#menu a {
   color: blue;
   border-top: 1px solid red; 
   border-bottom: 2px solid black;
} 
.post a {
   color: red;
   border-top: 1px solid red; 
   border-bottom: 2px solid black;
}
Nach dem Login kopieren

Beispiel 2

Im folgenden Beispiel definieren wir ein Mixin namens .box-shadow, das eine Reihe von Eigenschaften für einen Boxschatten enthält. Dieses Mixin verfügt über vier Parameter: @x, @y, @blur und @color, mit denen wir die Eigenschaften des Boxschattens anpassen können, z. B. X- und Y-Versatz, Unschärferadius und Farbe.

Danach verwenden wir das .box-shadow-Mixin in anderen Selektoren, indem wir es aufrufen und Parameterwerte übergeben. Wir verwenden das .box-shadow-Mixin in zwei verschiedenen Selektoren: .button und .card. Im .button-Selektor haben wir spezifische Werte für alle vier Parameter übergeben. Im .card-Selektor hingegen übergeben wir nur die Werte der ersten drei Parameter und verwenden für den @color-Parameter den Standardwert #000.

In der Ausgabe kann der Benutzer sehen, dass sowohl der .button- als auch der .card-Selektor einen Boxschatten mit unterschiedlichen Eigenschaften haben.

.box-shadow (@x: 0, @y: 0, @blur: 5px, @color: #000) {
   -webkit-box-shadow: @x @y @blur @color;
   -moz-box-shadow: @x @y @blur @color;
   box-shadow: @x @y @blur @color;
}
.button {
   background-color: #fff;
   .box-shadow(2px, 2px, 10px, #ccc);
} 
.card {
   background-color: #f5f5f5;
   .box-shadow(4px, 4px, 20px);
}
Nach dem Login kopieren

Ausgabe

.button {
   background-color: #fff;
   -webkit-box-shadow: 2px 2px 10px #ccc;
   -moz-box-shadow: 2px 2px 10px #ccc;
   box-shadow: 2px 2px 10px #ccc;
} 
.card {
   background-color: #f5f5f5;
   -webkit-box-shadow: 4px 4px 20px #000;
   -moz-box-shadow: 4px 4px 20px #000;
   box-shadow: 4px 4px 20px #000;
}
Nach dem Login kopieren

Beispiel 3

In diesem Beispiel demonstrieren wir die Verwendung von ID-Selektoren mit Mixins. Wir definieren ein Mixin namens #primary_button(), das einige grundlegende Schaltflächenstile festlegt, einschließlich des Hover-Status. Wir verwenden dieses Mixin dann in zwei verschiedenen Selektoren: .button und .nav-link. Diese Selektoren haben den gleichen Schaltflächenstil, einschließlich des Hover-Status.

#primary_button mixin definiert eine Reihe von Eigenschaften für das Schaltflächenelement, einschließlich Hintergrundfarbe, Schriftfarbe, Rahmen und Polsterung. Es enthält auch einen Hover-Status, der den Hintergrund und die Schriftfarbe ändert, wenn der Mauszeiger über die Schaltfläche bewegt wird.

Benutzer können in der Ausgabe feststellen, dass die Selektoren .button und .nav-link denselben Schaltflächenstil haben, einschließlich des Hover-Status, da sie das Mixin #primary_button verwenden.

#primary_button() {
   background-color: blue;
   color: white;
   border: none;
   padding: 10px 20px;
   &:hover {
      background-color: white;
      color: blue;
   }
} 
.button {
   #primary_button();
} 
.nav-link {
   #primary_button();
   text-decoration: none;
}
Nach dem Login kopieren

Ausgabe

.button {
   background-color: blue;
   color: white;
   border: none;
   padding: 10px 20px;
}
.button:hover {
   background-color: white;
   color: blue;
} 
.nav-link {
   background-color: blue;
   color: white;
   border: none;
   padding: 10px 20px;
   text-decoration: none;
}
.nav-link:hover {
   background-color: white;
   color: blue;
}
Nach dem Login kopieren

Benutzer haben gelernt, wie man Mixins definiert und verwendet, indem man sie in verschiedene Selektoren einschließt und Parameter übergibt, um ihre Eigenschaften anzupassen.

Die bereitgestellten Beispiele zeigen, wie man Mixins verwendet, um Rahmenstile, Boxschatten und Schaltflächenstile auf verschiedene Selektoren anzuwenden, und zeigen, wie man Mixins mit ID-Selektoren verwendet, um denselben Schaltflächenstil auf verschiedene Selektoren anzuwenden.

Durch das Verständnis der bereitgestellten Beispiele können Benutzer Mixins in ihren Projekten anwenden und von deren Flexibilität und Wiederverwendbarkeit profitieren.

Das obige ist der detaillierte Inhalt vonWofür werden Mixins in LESS verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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