Sie suchen nach der @content
Richtlinie:
@mixin placeholder {
::-webkit-input-placeholder {@content}
:-moz-placeholder {@content}
::-moz-placeholder {@content}
:-ms-input-placeholder {@content}
}
@include placeholder {
font-style:italic;
color: white;
font-weight:100;
}
Weitere Informationen finden Sie in der SASS-Referenz:
http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content
Ab Sass 3.4 kann dieses Mixin so geschrieben werden, dass es sowohl verschachtelt als auch nicht verschachtelt funktioniert:
@mixin optional-at-root($sel) {
@at-root #{if(not &, $sel, selector-append(&, $sel))} {
@content;
}
}
@mixin placeholder {
@include optional-at-root('::-webkit-input-placeholder') {
@content;
}
@include optional-at-root(':-moz-placeholder') {
@content;
}
@include optional-at-root('::-moz-placeholder') {
@content;
}
@include optional-at-root(':-ms-input-placeholder') {
@content;
}
}
Verwendung:
.foo {
@include placeholder {
color: green;
}
}
@include placeholder {
color: red;
}
Ausgabe:
.foo::-webkit-input-placeholder {
color: green;
}
.foo:-moz-placeholder {
color: green;
}
.foo::-moz-placeholder {
color: green;
}
.foo:-ms-input-placeholder {
color: green;
}
::-webkit-input-placeholder {
color: red;
}
:-moz-placeholder {
color: red;
}
::-moz-placeholder {
color: red;
}
:-ms-input-placeholder {
color: red;
}
&
ist erforderlich, wenn Sie in der Lage sein möchten, einen Selektor wieinput::-webkit-input-placeholder
beim Mixin zu erhalten, der Sie jedoch daran hindert, ihn auf der Root-Ebene zu verwenden. sassmeister.com/gist/9469073 . Wenn Sie LibSass verwenden, ist das eine andere Geschichte.Ich fand, dass der Ansatz von cimmanon und Kurt Mueller fast funktioniert hat, aber dass ich eine übergeordnete Referenz benötigte (dh ich muss jedem Herstellerpräfix das Präfix '&' hinzufügen); so was:
Ich benutze das Mixin so:
Wenn die übergeordnete Referenz vorhanden ist, wird das richtige CSS generiert, z.
Ohne die übergeordnete Referenz (&) wird vor dem Herstellerpräfix ein Leerzeichen eingefügt, und der CSS-Prozessor ignoriert die Deklaration. das sieht so aus:
quelle
&
ist absolut notwendig. Die beliebte Antwort wurde bearbeitet, um dies widerzuspiegeln.::placeholder
jetzt die offizielle Eigenschaft, daher würde ich empfehlen, diese oben hinzuzufügen:&::placeholder {@content}
Dies ist für die Kurzsyntax
benutze es wie
quelle
Warum nicht so etwas?
Es verwendet eine Kombination aus Listen, Iteration und Interpolation.
quelle
Um zu vermeiden, dass 'Unclosed Block: CssSyntaxError'-Fehler von Sass-Compilern ausgelöst werden, fügen Sie ein'; ' bis zum Ende von @content.
quelle
Ich verwende genau den gleichen Sass-Mixin-Platzhalter wie NoDirection. Ich finde es in sass Mixins Sammlung hier und ich bin damit sehr zufrieden. Es gibt einen Text , der eine Mixins-Option näher erläutert.
quelle