So habe ich das folgende Problem, ich möchte in der Lage sein, eine Zeile in einer Tabelle auszuwählen, und wenn ich das mache, erhält eine Zeile eine aktive Hintergrundfarbe. Bis jetzt keine Probleme. Wenn der Benutzer jedoch die Hintergrundfarbe als transparent festlegen oder die Deckkraft in rgba() - string auf 0 setzen soll, dann möchte ich die darunterliegende Zeilenfarbe anzeigen.So erhalten Sie den Opazitätswert innerhalb eines Mixin
Jetzt, wenn ich eine Mischung verwende, könnte ich meine CSS auf verschiedene Arten stylen. Aber wie kann ich die Opazität von der rgba-Zeichenkette erhalten, um zu bestimmen, ob die Zeichenkette transparent sein soll oder nicht? Funktioniert Regex innerhalb eines Mixins?
Ie: Ich würde so etwas wie (ich weiß, ist die regex Teil js aber somthing ähnlich für css/mixin):
@mixin active-background-color($activeBackgroundColor){
\t @if ($activeBackgroundColor.replace(/^.*,(.+)\)/,'$1') == 0) {
\t \t background-color: none;
\t } @else {
background-color: $activeBackgroundColor
}
}
So ist die Lösung stellte sich heraus, die folgenden sein (sollte jemand sein Interesse):
@mixin active-background-color($color) {
$alphaVal: alpha($color);
@if ($alphaVal== 0){
background-color: inherit;
} @else {
background-color: $color;
}
}
Link zur Lösung, die ich verwendet: The Sass Way
Ich schätze es, dass Sie sich Zeit nehmen, meine Frage zu beantworten, aber ich fand die Antwort, die ich hier suchte: http://thesassway.com/intermediate/mixins-for-semi-transparent-colours Ich brauchte nur noch etwas graben. Aber, vielen Dank noch einmal. – Malmberg