Ich versuche herauszufinden, wie man die verschachtelten Stile in Less am besten wiederverwenden kann, um Doppelungen zu vermeiden, aber ich bin mir nicht sicher, ob ich den besten Weg gefunden habe.Hinzufügen eines absoluten Selektors in einem verschachtelten Stil
Im Moment habe ich so etwas wie:
.category-link,
.caption-link {
background-color: @linkColour;
font-family: @linkFont;
max-width:2em;
a {
/* INNER LINK STYLES */
text-decoration:none;
white-space:nowrap;
/* ...INNER LINK STYLES CONTINUE... */
}
}
Jetzt möchte ich .action-link a
die gleichen inneren Verbindungs Stile an den Wähler anzuwenden, ohne die äußeren Stile .action-link
Anwendung.
ich meine beabsichtigte Ausgabe, wenn ich es auf diese Weise tun:
.inner-link-styles() {
/* INNER LINK STYLES */
text-decoration:none;
white-space:nowrap;
/* ...INNER LINK STYLES CONTINUE... */
}
.category-link,
.caption-link {
background-color: @linkColour;
font-family: @linkFont;
max-width:2em;
a {
.inner-link-styles;
}
}
.action-link a {
.inner-link-styles;
}
die keine Vervielfältigung erfordert, aber ich würde es vorziehen, diese Stile in ihren aktuellen Standort zu halten, wo sie relevant sind, als sie nach mixins.less
zu verschieben und die Komplexität für den nächsten Entwickler zur Fehlerbehebung zu erhöhen.
Was intuitiv gefühlt, aber es ist eindeutig falsch, war so etwas wie diese:
.category-link,
.caption-link {
background-color: @linkColour;
font-family: @linkFont;
max-width:2em;
& a,
.action-link a {
/* INNER LINK STYLES */
text-decoration:none;
white-space:nowrap;
/* ...INNER LINK STYLES CONTINUE... */
}
}
aber gibt es eine andere Vorsilbe ich an einen Wähler anwenden kann, um es absolut Basis zu haben, anstatt relativ zu dieser Verschachtelungsebene ist ?
Ich denke, es ist nicht möglich. Die von dir gegebene Lösung ist nur eine zu gehen. –
Ich hatte das Gefühl, dass das der Fall sein könnte ... Ich habe das Gefühl, dass ich, wenn ich einmal mehr an LESS gewöhnt bin, aufhören werde, es auf eine Weise zu benutzen, die damit nicht übereinstimmt. Haben Sie (oder irgendjemand sonst) irgendwelche persönlichen/codierenden Stilgedanken darüber, ob die Definition von ".inner-link-styles()" mit anderen, funktionaleren Mixins in einer separaten Datei ('mixins.less') gehen soll, gehen Sie in ihre eigene separate Datei ('reusable.less'), oder bleiben in der Nähe der Stile, die sie tatsächlich verwenden? (Ob nur aufgrund Ihrer eigenen Präferenzen basierend auf Erfahrung oder einige formal definierte Best Practice) –
Wie "sollte mit anderen, funktionaleren Mixins in einer separaten Datei (mixins.less) gehen". Definitiv nein. Jedes Mixin sollte an der Stelle sein, an der es sich gehört, mechanische Strukturierung wie "Mixins sollten in Mixins sein, Variablen in" Variablen "usw." ist zumindest dumm und anti-produktiv.Kopieren Sie nie blindlings bestimmte Ansätze von bekannten Frameworks (die meisten modernen Frameworks werden von kleinen Teams (bis zu einer Person) entworfen und es gibt eine Menge Anti-Patterns). –