Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8764

SCSSの導入検討

$
0
0
SCSSのメリット 大きく分けて2つ * ネスト記法 * @mixinによるCSS定義のコンポーネント化,@extendによるCSS定義の流用 ネスト クラス>クラス .parent { .child { } } クラス>メディアクエリ .grid { display: grid; grid-template-columns: repeat(2, 1fr); @media(min-width: 768px) { grid-template-columns: repeat(4, 3fr); } } クラス>:hoverなどの疑似クラス .parent { &:hover { } } メモ:@extendと@mixinの違い @extendの特徴 継承対象に拒否権はない 継承なので、宣言箇所の基底の定義になる @mixinの特徴 コンポーネント化対象は、必ず@mixinの宣言が必要で、利用側は、@includeでの参照が必要。@extendとは対照的。 記述の持ち込みなので、宣言箇所にそのままロードされる 上記の性質から、@extendよりミクロなコードの流用が可能に。 多用は @extendも@mixinも多用するとヤバイ香りがする。 @extendは継承対象に拒否権がないため、自由な変更ができなくなる可能性がある。 @mixinは宣言が必要なものの、ミクロな流用が可能になるため、乱用されると可読性が下がる可能性もある。 実務では適切なルール化が必要と思われる。 CSSでも出来ること 変数宣言 :root { --primary-color: #FF00FF; } div { color: var(--primary-color); } 個人的な結論 利用しようかと思います。 やはり、ネストによる可読性の向上は魅力的です。 @extendや@mixinはもう少し情報収集が必要かもしれません。 参考 なぜSassが必要なの? SCSSでできること Sass(SCSS)のmixin, extendなどまとめ プログラマーから見た、SCSSの正しい(かもしれない)使いかた sassのmixinとextend、ちゃんと考えて使わないとcssが地獄。 scssで@mixinを使うのと、htmlでclass指定する何が違う CSS カスタムプロパティ (変数) の使用

Viewing all articles
Browse latest Browse all 8764

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>