Campuran Pemegang Tempat dalam SCSS/CSS
Apabila mencipta campuran SASS untuk ruang letak, campuran mudah seperti di bawah mungkin tidak mencukupi kerana bilangan titik bertindih dan koma bertindih yang dilalui kepadanya:
<code class="scss">@mixin placeholder ($css) { ::-webkit-input-placeholder {$css} :-moz-placeholder {$css} ::-moz-placeholder {$css} :-ms-input-placeholder {$css} }</code>
Menggunakan @content Directive
Untuk menghantar CSS statik melalui mixin sama seperti dikehendaki, arahan @content boleh digunakan. Berikut ialah contoh:
<code class="scss">@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; }</code>
Maklumat lanjut boleh didapati dalam Rujukan SASS di https://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-content.
Pilihan @-root Mixin (Sass 3.4 dan ke atas)
Dalam Sass 3.4 dan ke atas, pilihan-at-root mixin boleh digunakan untuk mengendalikan pemilih bersarang dan tidak bersarang dengan berkesan:
<code class="scss">@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; } }</code>
Penggunaan:
<code class="scss">.foo { @include placeholder { color: green; } } @include placeholder { color: red; }</code>
Output:
<code class="css">.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; }</code>
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta campuran pemegang tempat yang cekap dalam SCSS/CSS yang mengendalikan pemilih bersarang dan tidak bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!