Anda mencari @content
arahan:
@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;
}
Referensi SASS memiliki informasi lebih lanjut, yang dapat ditemukan di sini:
http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content
Mulai Sass 3.4, mixin ini dapat ditulis seperti itu agar berfungsi baik bersarang maupun tidak:
@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;
}
}
Pemakaian:
.foo {
@include placeholder {
color: green;
}
}
@include placeholder {
color: red;
}
Keluaran:
.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;
}
&
diperlukan jika Anda ingin mendapatkan selektor sepertiinput::-webkit-input-placeholder
pada mixin, tetapi ini akan menghalangi Anda untuk menggunakannya di tingkat akar. sassmeister.com/gist/9469073 . Sekarang jika Anda menggunakan LibSass, itu cerita yang berbeda.Saya menemukan pendekatan yang diberikan oleh cimmanon dan Kurt Mueller hampir berhasil, tetapi saya membutuhkan referensi orang tua (yaitu, saya perlu menambahkan awalan '&' ke setiap awalan vendor); seperti ini:
Saya menggunakan mixin seperti ini:
Dengan referensi induk di tempat, maka css yang benar akan dihasilkan, misalnya:
Tanpa referensi induk (&), maka spasi disisipkan sebelum awalan vendor dan prosesor CSS mengabaikan deklarasi tersebut; yang terlihat seperti ini:
sumber
&
benar-benar diperlukan. Mengedit jawaban populer untuk mencerminkan ini.::placeholder
properti resmi sekarang, jadi saya sarankan untuk menambahkan ini di atas:&::placeholder {@content}
Ini untuk sintaks singkat
gunakan seperti itu
sumber
Kenapa tidak seperti ini?
Ini menggunakan kombinasi daftar, iterasi, dan interpolasi.
sumber
Untuk menghindari kesalahan 'Blok tidak tertutup: CssSyntaxError' dilempar dari kompiler sass, tambahkan ';' ke akhir @content.
sumber
Saya menggunakan placeholder mixin sass yang sama persis seperti yang ditulis NoDirection. Saya menemukannya dalam koleksi sass mixins di sini dan saya sangat puas dengannya. Ada teks yang lebih menjelaskan opsi mixin.
sumber