CSSの@applyとは何ですか?


93

まず、CSSタグについて言及しています。

私はグーグルで@apply検索しましたが、その意味を正しく説明できるものは何も見つかりませんでした。

そのようなタグの使用法は何ですか?


3
tabatkins.github.io/specs/css-apply-ruleいくつかの有用な読み物
CollinD 2016

1
どこで出会ったの?
j08691 2016

2
私はこのリンクでそれを見つけました:github.com/y0ssar1an/CSS3
GameCoder 2016

50
なぜこれほど多くの人がこれに反対したのですか?これは完全に有効な質問であり、多くの人が明らかに何も知らないCSSの高度な機能に触れています。Tailwindは、@applyディレクティブを多用します。人々の質問をすぐに却下しないでください。ここで起こっていることの多く。さらに、OPがstackoverflowのメンバーではなくなったことに気づきましたが、このために彼は去りましたか?哀れです。
stephenmurdoch 2018

回答:


32

それを説明する簡単な方法は次のようになります。css(sassなどのプリプロセッサの機能)に変数を導入し、(プリプロセッサでも)動作のように機能するmixinを導入します。

それ--header-themeが関数だと想像してください(mixin)

:root {
  --header-theme: {
    color: red;
    font-family: cursive;
    font-weight: 600;
  };
}

h1 {
  @apply --header-theme;
}


h2 {
  @apply --header-theme;
}

このようにして、もう一度書き直すことなく、さまざまな場所で使用できます。DRY

これで、可変部分はこの例で説明できます

:root {
  --brand-color: red;/*   default value*/
  --header-theme: {
    color: var(--brand-color);
    font-family: cursive;
    font-weight: 600;
  };
}

h1 {
  @apply --header-theme;
}


h2 {
  --brand-color: green; 
  @apply --header-theme;
}

ミックスインには変数が送信され、色が変更されます

これは機能の制限ではありません。これをはるかに多く使用できます。このブログ投稿を読むことをお勧めした後、他の使用方法についてSASSのミックスインと変数について詳しく読むことができます。

私はあなたが興奮した後に、今、悪いニュースのための時間が、それはブラウザまだ実装されていないクロム、それはまだそれが来て、多分あなた自身を準備したい場合は、SASSで始まっていることを知っている価値があります


var関数はSASSでもjavascriptと同じ目的を果たしますか?申し訳ありませんが、SASSはわかりません。
GameCoder 2016

変数は、書き換えるのではなく、1つの場所からすべて同じコントロールであり、関数は少し異なりますが、私が言おうとしているのと同じ一般的な考え方を提供します。今のところ、とにかくそれを使用することはできません。したがって、機能チェックsass(ruby)以下(node.js)に興味がある場合は、彼らがアイデアを思いついた場所
oqx 2016

2
「なぜ私が@applyを放棄したのか」というタイトルの仕様作成者のブログ投稿は、この機能が将来のブラウザーに導入されないことを示唆しています。スペック私はそれを見られるように- tabatkins.github.io/specs/css-apply-rule/#introで後退オーバー- xanthir.com/b4o00


8

@applyかなりかっこいいです。基本的に、CSSブロックをコピーしたり、セレクターを変更したりすることなく、CSSブロックを再利用できます。

これにより、CSSフレームワークの使用が容易になり、同時にセマンティッククラス名を保持できるようになります。

この記事は、この機能の優れた入門書であることがわかりました。

残念ながら、現時点では、ブラウザのサポートは基本的に存在しませんPostCSSなどのCSSプリプロセッサで使用できます。

よく理解できれば、将来も不透明です。この機能の背後にある主な支持者は、それをサポートしなくなりました


ikr!のTailwindCSSからこれらのクラスを使用する方法が大好き@applyです。これにより、スタイルシートを操作する非常に新しい方法が導入され、再利用可能なブリックが残ります。これも簡単に分類できます。実際に並べ替えることができ(Tailwind CSSドキュメントのToCからの私のようなリファレンスを使用できます)、スタイルシートをスキャンするためのプロパティはもうありません。効率的に!pinすべてではなく、単純なショットハンドを書くなど、多くの可能性がありますtop/bottom/left/right: 0
vintproykt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.