-
ID:vlZFeb さんの質問

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 件

ID:uay3Q1 さんの回答

CSSの設計(OOCSSとかBEMとかなんとか)にもよるんじゃね?とは思うが、
いずれの場合も最終的にはCSSに出力されるわけで、あんまりinclude extend使いすぎると重複するor不要なコードが増える気がする。というか実際増えたw使い方が悪いのかもしれんが。
今はあくまでCSSの補助くらいに思って使ってるよー。
変数あるだけでも全然楽だよね。

ID:uo.3QH さんの回答

ブロックごとのコーディングはあんまりやったこと無いけど、基本的に不要なコードはあまり出さないようにするか、後々整理するかな。
CSSのセレクタ制限とか引っかかると面倒くさいし。
後先考えずに、@extend使ってたりするとすぐオーバーするからね。

最終更新日:2015-02-04 (2,281 views)

関連するトピックス

ページ上部に戻る