Contenu connexe
Similaire à Oocssとかついでにsmacssとbemの話も (20)
Plus de Yumi uniq Ishizaki (10)
Oocssとかついでにsmacssとbemの話も
- 5. さらに
緑のお知らせエリアも欲しいので、おなしゃす!
.information_area {
width:960px;
padding: 10px;
border: 1px solid #E6E5DA;
background-color: #FFFCE2;
border-radius: 3px;
}
.information_green_area {
width:960px;
padding: 10px;
border: 1px solid #5BC077;
background-color: #B4ECAC;
border-radius: 3px
}
- 6. さらにさらに
.information_area {
width:960px;
padding: 10px;
border: 1px solid #E6E5DA;
background-color: #FFFCE2;
border-radius: 3px;
}
.information_green_area {
width:960px;
padding: 10px;
border: 1px solid #5BC077;
background-color: #B4ECAC;
border-radius: 3px
}
.alert_area {
width:960px;
padding: 10px;
border: 1px solid #FFA115;
background-color: #E00;
color:#fff;
border-radius: 3px
}
- 7. コードが重複しまくり
.information_area {
width:960px;
padding: 10px;
border: 1px solid #E6E5DA;
background-color: #FFFCE2;
border-radius: 3px;
}
.information_green_area {
width:960px;
padding: 10px;
border: 1px solid #5BC077;
background-color: #B4ECAC;
border-radius: 3px
}
.alert_area {
width:960px;
padding: 10px;
border: 1px solid #FFA115;
background-color: #E00;
color:#fff;
border-radius: 3px
}
- 8. さらにさらにさらに
ポップアップでは幅600pxにしたいとか…
このページのは文字が大きくしたいとか…
3カラムバージョンも欲しいとか…
.information_area {
width:960px;
padding: 10px;
border: 1px solid #E6E5DA;
background-color: #FFFCE2;
border-radius: 3px;
}
.popup .information_area {
width:600px;
}
.information_green_area {
width:960px;
padding: 10px;
border: 1px solid #5BC077;
background-color: #B4ECAC;
border-radius: 3px
}
.event_page .information_green_area {
font-size:24px;
}
.alert_area {
width:960px;
padding: 10px;
border: 1px solid #FFA115;
background-color: #E00;
color:#fff;
border-radius: 3px
}
.col_3.information_area,
.col_3.information_green_area,
.col_3.alert_area {
width:320px;
}
- 11. つまりこんな感じ
<div class="row">
<div class="container">
<div class="col_3"><div class="box box_imformation">いわゆる普通のお知らせ</div></div>
<div class="col_3"><div class="box box_success">成功しちゃったお知らせ</div></div>
<div class="col_3"><div class="box box_alert">マジでヤバいお知らせ</div>
</div>
</div>
.row { /*bootstrap参考*/ }
.container { width:960px; }
.container_popup { width:600px; }
.font_24 {font-size:24px;} /*特例的なサイズ変更は、昔からある有りがちcommon.cssを*/
.col_3 { width:33.3%}
.box {
padding: 10px;
border-radius: 3px;
}
.box_information {
border: 1px solid #E6E5DA;
background-color: #FFFCE2;
}
.box_success {
border: 1px solid #5BC077;
background-color: #B4ECAC;
}
.box_alert {
border: 1px solid #FFA115;
background-color: #E00;
color:#fff;
}
- 13. STRUCTURE とSKIN を分け
て設定する
• structure
• 位置とか。margin, padding, position...
• カタチっぽいclass名にする
• skin
• 色とか。デザインっぽい効果とか。color, background, border...
• デザインっぽい、もしくはセマンティックなclass名
※ サイトによって解釈は違う
- 14. 例えるなら
だめな例
<!-- だめな例-->
<div class="リラックマのお皿にのったケチャップかけたチーズ入りオムレツ">
だめな例
</div>
良い例
<!-- 良い例-->
<div class="リラックマのお皿">
<div class="ケチャップチーズオムレツ">
良い例
</div>
</div>
- 19. IDのない幸せな世界
上書きが楽。
a {color:#000;}
a.btn {color:#fff;}
.event_list a {color:#f00;}
.page_join a {color:#999;}
- 22. SMACSSのCSSカテゴリ
• Base
• デフォルトスタイル
• Layout
• ページをエリアに分割したもの(接頭語:l-)
• Module
• 再利用可能なパーツ
• State
• LayoutやModuleの特定の状態(接頭語:is-)
• jsも使いますよー
• Theme
• ブログのテーマ的な
- 25. BEMの基本
• Block :ページを構成する独立パーツ
• Element :Black内の一部として役割を果たすも
の
• Modifire :BlockやElementの状態・属性