LESSCSS - verwende Berechnung und Rückgabewert

7

H i,

Ich hoffe, Sie können mir helfen.

Gibt es einen Weg für LESS , nur einen Wert zurückzugeben - fühle mich, als würde mir etwas sehr Offensichtliches fehlen

Sprich ich habe:

%Vor%

Kann ich etwas verwenden, um mir eine Kurzrückgabe für -

zu geben? %Vor%

Wie sagen:

%Vor%

weil ich letztendlich auf Folgendes hoffe:

%Vor%

Mit einer Mischung muss ich die style -Eigenschaft definieren, aber der Wert dieser Rückgabe-Funktion würde für viele verschiedene CSS-Eigenschaften verwendet werden.

Ich hoffe, ich habe einen Sinn und mir fehlt einfach tiefer rtfm.

Vielen Dank, wenn Sie können.

Aktualisieren als @Chococrocs Zeiger auf die Dokumente , danke.

%Vor%
  • Sieht aus wie ich brauche? - nur sehen, ob ich immer die Einheitsvariable dazu markieren kann ....

Update: Das wird halbwegs ...

%Vor%

Aber nicht wenn

%Vor%

Gibt es einen anderen Weg?

    
Rob Sedgwick 01.04.2014, 18:42
quelle

4 Antworten

13

LESS hat noch keine Möglichkeit, eine wahre "Funktion" zu kreieren, damit wir damit umgehen können.

Zuerst

Sie können einfach die Unit-Funktion verwenden:

WENIGER

%Vor%

CSS

%Vor%

Sekunde

Die Mixins als Funktionen sind in einigen Situationen in Ordnung, aber wie Sie entdeckt haben, hat die Einschränkung von nur einmal den Wert beim ersten Aufruf (und das heißt, eine Variable mit dem gleichen Namen ist nicht bereits in diesem Bereich vorhanden).

WENIGER (funktioniert zuerst, zweiter nicht)

%Vor%

CSS-Ausgabe

%Vor%

Third

Die Einschränkung der zweiten Idee kann durch ein zweites Wrapping vermieden werden, da sie den Gültigkeitsbereich für jede von .returnUnit() zurückgegebene Variable wie folgt isoliert:

WENIGER

%Vor%

CSS-Ausgabe

%Vor%

Vierter

Es ist vielleicht besser, Ideen aus dem Ersten und Dritten zusammenzuführen, indem Sie einige globale Variablen hinzufügen und dies tun:

WENIGER

%Vor%

CSS-Ausgabe

%Vor%

Hier verwenden wir also die Funktion unit immer noch als erste Idee, haben sie aber der Variablen @setUnit zugewiesen, so dass jedes Mal, wenn die Variable aufgerufen wird, die Funktion ausgeführt wird. Wir isolieren unsere Eigenschaftsblöcke immer noch mit der & {} -Syntax wie in der dritten Lösung, aber jetzt stellen wir einfach @val auf das ein, was wir wollen, und nennen% des_Co_de%, wo wir wollen.

    
ScottS 01.04.2014, 19:48
quelle
5

Es gibt einen Hack, der hier von fabienevain mit einer globalen js-Funktion erwähnt wird. Scheint eine gute Option zu sein, wenn Sie eine Funktion mit tatsächlichem Rückgabewert wünschen.

%Vor%     
xangxiong 02.03.2015 23:22
quelle
3

Ich denke, du suchst das, Mixin als Funktion

Ссылка

Lesen Sie Ihre Frage, ich denke, was Sie wünschen, D

    
Chococroc 01.04.2014 18:48
quelle
1
%Vor%

Verwendung:

%Vor%

Ergebnis:

%Vor%     
OZZIE 19.03.2016 08:28
quelle

Tags und Links