ホームページ  >  記事  >  ウェブフロントエンド  >  SCSS/CSS のミックスインを使用してプレースホルダー テキストのスタイルを設定する方法

SCSS/CSS のミックスインを使用してプレースホルダー テキストのスタイルを設定する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-26 13:34:30960ブラウズ

How to Style Placeholder Text using a Mixin in SCSS/CSS?

SCSS/CSS のプレースホルダー ミックスイン

課題:
静的を使用してプレースホルダー テキストのスタイルを設定するミックスインを作成するSass 内の CSS。

ミックスインの試行:

<code class="scss">@mixin placeholder ($css) {
  ::-webkit-input-placeholder {$css}
  :-moz-placeholder           {$css}
  ::-moz-placeholder          {$css}
  :-ms-input-placeholder      {$css}  
}</code>

問題:
コロンとセミコロンが渡されたため、ミックスインが機能しません$css パラメーターを使用すると、ブラウザー固有のプレースホルダー セレクターと干渉します。

解決策: @content ディレクティブを使用する
@content ディレクティブを導入して、ミックスイン内に静的 CSS を含めます。プレースホルダー セレクター。

<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>

さらなる機能強化: ネストされた使用法とネストされていない使用法 (Sass 3.4 )

<code class="scss">@mixin optional-at-root($sel) {
  @at-root #{if(not &amp;, $sel, selector-append(&amp;, $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>

これにより、他のセレクター内でプレースホルダー ミックスインをネストできるようになります。まだプレースホルダー要素をターゲットとしています。

以上がSCSS/CSS のミックスインを使用してプレースホルダー テキストのスタイルを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。