Sass使っている人に質問です。コーディングしていくと似たような箇所が増えるのですが、どこまでmixinやplaceholderにしますか?
例えばこのW3Qの投稿画面を以下のようにコーディングしているとします。
.
/* 質問する */
.question-entry {
@include box;
marign-bottom:20px;
&-title{
@extend %title;
}
&-body{
margin-bottom:10px;
}
&-form {
@include form;
}
&-bottom {
text-align:right;
&-button {
@include button;
}
}
}
.
/* 機能紹介 */
.function-info {
@include box;
&__body {
&__list {
@extend %list;
}
}
}
.
ボーダー入りのボックスにタイトルがあってフォームがあってボタンがあってというスタイルは、コメント投稿箇所にも使えそうです。そして「機能紹介」の箇所も似たような構成になっているので、「question-entry」をmixinにして「.function-info」にincludeすればいいのか?と感じます。
.
ですが、そのままincludeすると「-form」や「-bottom」など、不要な箇所もincludeしてしまう事になります。
.
だったらやっぱり上のようなコードの方が良いのかな?とも思いますが、悩みます。皆さんならどうしますか?Sassを使ったコーディングが得意な人がいましたら教えて下さい。
みんなの回答 2 件
CSSの設計(OOCSSとかBEMとかなんとか)にもよるんじゃね?とは思うが、
いずれの場合も最終的にはCSSに出力されるわけで、あんまりinclude extend使いすぎると重複するor不要なコードが増える気がする。というか実際増えたw使い方が悪いのかもしれんが。
今はあくまでCSSの補助くらいに思って使ってるよー。
変数あるだけでも全然楽だよね。
ブロックごとのコーディングはあんまりやったこと無いけど、基本的に不要なコードはあまり出さないようにするか、後々整理するかな。
CSSのセレクタ制限とか引っかかると面倒くさいし。
後先考えずに、@extend使ってたりするとすぐオーバーするからね。
関連するトピックス