Movatterモバイル変換


[0]ホーム

URL:


PPTX, PDF2,342 views

Oocssとかついでにsmacssとbemの話も

オブジェクト指向のCSSの話とか、smacssとbemの話とか、社内勉強会で好き勝手にしゃべってみました

Embed presentation

Download to read offline
OOCSSとか ついでにSMACSSとBEMも Created by Yumi Hashizume / @uniq 20140702
お前、誰よ • uniqだよー • デザイナーだよー • いまは夏コミ原稿中
これから話すこと • しんどいCSS • 私なりのOOCSS • SMACSSの紹介 • BEMの紹介
こんな事あるあるー 黄色いお知らせエリアが欲しいよ .information_area { width:960px; padding: 10px; border: 1px solid #E6E5DA; background-color: #FFFCE2; border-radius: 3px; }
さらに 緑のお知らせエリアも欲しいので、おなしゃす! .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 }
さらにさらに .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 }
コードが重複しまくり .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 }
さらにさらにさらに ポップアップでは幅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; }
もうぐちゃぐちゃ • メンテしにくい • 拡張しにくい • コードも長いので描画遅い
そこでOOCSS 共通なものは共通なもの同士で オブジェクトとしてまとめる • 作業効率アップ • メンテナンス性アップ • 描画速度アップ
つまりこんな感じ <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; }
ぜんぜんセマンティッ クじゃない!! ある程度、妥協しましょう …柔軟に生きよう。社会は厳しい。。。 そこそこセマンティックであれば良い
STRUCTURE とSKIN を分け て設定する • structure • 位置とか。margin, padding, position... • カタチっぽいclass名にする • skin • 色とか。デザインっぽい効果とか。color, background, border... • デザインっぽい、もしくはセマンティックなclass名 ※ サイトによって解釈は違う
例えるなら だめな例 <!-- だめな例--> <div class="リラックマのお皿にのったケチャップかけたチーズ入りオムレツ"> だめな例 </div> 良い例 <!-- 良い例--> <div class="リラックマのお皿"> <div class="ケチャップチーズオムレツ"> 良い例 </div> </div>
いままでは… 要素を見て、どんなスタイルか把握していた
これからは… class名を見て、どんなスタイルか把握できるようにして いく
あとID やめよう jsやページ内リンクに使うのはありだけど、style指定する ために使うのは、余程の理由がない限りやめていきたい
CSSでID使うと困る点 上書きが大変。いちいちIDつけないと上書きできない。 ID効果は強いんです。 #main a {color:#000;} a.btn, /* 全てのページのbtn文字色を白くしたい*/ #main a.btn { /* mainのボタンにも効果が必要なので、こちらも指定しないといけない*/ color:#fff; } #main .event_list a {color:#f00;} #main .page_join a {color:#999;}
IDのない幸せな世界 上書きが楽。 a {color:#000;} a.btn {color:#fff;} .event_list a {color:#f00;} .page_join a {color:#999;}
言いたいこと • 継ぎ足し継ぎ足しのCSSはツライ • OOCSSの精神で設計しとこ • CSSを修正するときは、「足す」のではなく、「 引く」「整理する」をしていこう
SMACSS の紹介 SMACSS(スマックス)
SMACSSのCSSカテゴリ • Base • デフォルトスタイル • Layout • ページをエリアに分割したもの(接頭語:l-) • Module • 再利用可能なパーツ • State • LayoutやModuleの特定の状態(接頭語:is-) • jsも使いますよー • Theme • ブログのテーマ的な
SMACSSのイメージ
BEM の紹介
BEMの基本 • Block :ページを構成する独立パーツ • Element :Black内の一部として役割を果たすも の • Modifire :BlockやElementの状態・属性
BEMの命名規則 .Block__Element-Modifire
BEMのイメージ
事例紹介
THE END 美味しいお酒を飲むために効率よく仕事したい

Recommended

PDF
なんでCSSすぐ死んでしまうん
PDF
ブラウザにやさしいHTML/CSS
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
PDF
大規模サイトにおける本当は怖いCSSの話
PDF
CSS Design and Programming
PDF
CSS の歩き方
PDF
今必要なCSSアーキテクチャ
PPTX
2016年版 フロントエンド開発フォーマット
PDF
「html5 boilerplate」から考える、これからのマークアップ
PDF
使いやすいWordPressのためのCSSのつくりかた
PPTX
SMACSS入門
PPTX
第10回勉強会 CSS設計について
PDF
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
KEY
コーディングが上達するコツ
PDF
今からハジメるHTML5マークアップ
PDF
HTML5, きちんと。
PDF
WordPress を使いこなそう
PDF
⑯jQueryをおぼえよう!その2
PDF
設計から実装まで、今すぐ始める高速化
PDF
CSS設計のお勉強
PPTX
css基本。
 
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
PDF
Web Platform -- Moving Forward!
PDF
HTML5 & The Web Platform
PDF
HTML5マークアップの心得と作法
PDF
Polymerで作る次世代ウェブサイト
PDF
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
PDF
今からハジメるHTML5プログラミング
PDF
CSSにもオブジェクト指向を - OOCSSことはじめ
PDF
CSSの新しい設計思想 PRECSSを作りました

More Related Content

PDF
なんでCSSすぐ死んでしまうん
PDF
ブラウザにやさしいHTML/CSS
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
PDF
大規模サイトにおける本当は怖いCSSの話
PDF
CSS Design and Programming
PDF
CSS の歩き方
PDF
今必要なCSSアーキテクチャ
PPTX
2016年版 フロントエンド開発フォーマット
なんでCSSすぐ死んでしまうん
ブラウザにやさしいHTML/CSS
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
大規模サイトにおける本当は怖いCSSの話
CSS Design and Programming
CSS の歩き方
今必要なCSSアーキテクチャ
2016年版 フロントエンド開発フォーマット

What's hot

PDF
「html5 boilerplate」から考える、これからのマークアップ
PDF
使いやすいWordPressのためのCSSのつくりかた
PPTX
SMACSS入門
PPTX
第10回勉強会 CSS設計について
PDF
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
KEY
コーディングが上達するコツ
PDF
今からハジメるHTML5マークアップ
PDF
HTML5, きちんと。
PDF
WordPress を使いこなそう
PDF
⑯jQueryをおぼえよう!その2
PDF
設計から実装まで、今すぐ始める高速化
PDF
CSS設計のお勉強
PPTX
css基本。
 
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
PDF
Web Platform -- Moving Forward!
PDF
HTML5 & The Web Platform
PDF
HTML5マークアップの心得と作法
PDF
Polymerで作る次世代ウェブサイト
PDF
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
PDF
今からハジメるHTML5プログラミング
「html5 boilerplate」から考える、これからのマークアップ
使いやすいWordPressのためのCSSのつくりかた
SMACSS入門
第10回勉強会 CSS設計について
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
コーディングが上達するコツ
今からハジメるHTML5マークアップ
HTML5, きちんと。
WordPress を使いこなそう
⑯jQueryをおぼえよう!その2
設計から実装まで、今すぐ始める高速化
CSS設計のお勉強
css基本。
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Web Platform -- Moving Forward!
HTML5 & The Web Platform
HTML5マークアップの心得と作法
Polymerで作る次世代ウェブサイト
情報編集(Web) HTML5とは何か? HTML5、はじめの一歩
今からハジメるHTML5プログラミング

Viewers also liked

PDF
CSSにもオブジェクト指向を - OOCSSことはじめ
PDF
CSSの新しい設計思想 PRECSSを作りました
PDF
コンポーネント指向と余白の設計
PPT
Guvenlik genel bakis
PPTX
Excess hair growth
 
PDF
Brandon Steiner: Speaker
PPT
מביישן לפלרטטן
PDF
Nerve cell
KEY
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...
PDF
モダンCSS設計と BEMという開発手法
PDF
BEM it!
PDF
What's Object-Oriented CSS (japanese)
PDF
Bem Study
PPT
Inleiding \'Digivaardig\' bij Koninklijke Visio/OTC op 18 juni 2012
PPT
Sliven1
 
PDF
חוברת קורס
PDF
ccnp route 642 902
CSSにもオブジェクト指向を - OOCSSことはじめ
CSSの新しい設計思想 PRECSSを作りました
コンポーネント指向と余白の設計
Guvenlik genel bakis
Excess hair growth
 
Brandon Steiner: Speaker
מביישן לפלרטטן
Nerve cell
The Cascade, Grids, Headings, and Selectors from an OOCSS Perspective, Ajax ...
モダンCSS設計と BEMという開発手法
BEM it!
What's Object-Oriented CSS (japanese)
Bem Study
Inleiding \'Digivaardig\' bij Koninklijke Visio/OTC op 18 juni 2012
Sliven1
 
חוברת קורס
ccnp route 642 902

Similar to Oocssとかついでにsmacssとbemの話も

PDF
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
PDF
Sass(SCSS)について
PDF
CSS3 Design Recipe
PPT
CSS勉強会
PDF
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
ZIP
実践Sass 前編
PDF
壊れやすいCSS
PDF
Sass introduction (jscafe 10)
PDF
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
PDF
Basic CSS Introduction
PDF
CSSの光と闇
PDF
今更ながらCSS3を試してみた
PDF
Css preprocessorの始めかた
PDF
マークアップ講座 02 CSS
PDF
2017: A CSS Design Odyssey
PPTX
CSS設計
PDF
ネストを覚えた人のためのSassの便利な使い方
PDF
メディア芸術基礎 Ⅰ 第4回:CSS入門 情報の形を視覚化する
PDF
CSSコーディングを効率よくするおすすめプラグイン
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
HTML/CSSを効率的にする メタ言語とツールのアレコレ
Sass(SCSS)について
CSS3 Design Recipe
CSS勉強会
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
実践Sass 前編
壊れやすいCSS
Sass introduction (jscafe 10)
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
Basic CSS Introduction
CSSの光と闇
今更ながらCSS3を試してみた
Css preprocessorの始めかた
マークアップ講座 02 CSS
2017: A CSS Design Odyssey
CSS設計
ネストを覚えた人のためのSassの便利な使い方
メディア芸術基礎 Ⅰ 第4回:CSS入門 情報の形を視覚化する
CSSコーディングを効率よくするおすすめプラグイン

More from Yumi uniq Ishizaki

KEY
とある色の決め方
PDF
Pythonと出会ったデザイナーの話 #PyLadiesTokyo
PDF
connpass design at BPStudy #88
PPTX
Semantic html が止まらない
PDF
真のレシポンシブって何だろう
PPTX
アイディア発想法とかモノ作りを初める前にやること
PDF
デザイナーにGitは必要?
PDF
絵描きさんあるあるPhotoshop技 DIST3
PDF
スクラムする前に知って欲しいアジャイルさんっぽいこと
PDF
とっさのデザイン〜ボタン編〜
とある色の決め方
Pythonと出会ったデザイナーの話 #PyLadiesTokyo
connpass design at BPStudy #88
Semantic html が止まらない
真のレシポンシブって何だろう
アイディア発想法とかモノ作りを初める前にやること
デザイナーにGitは必要?
絵描きさんあるあるPhotoshop技 DIST3
スクラムする前に知って欲しいアジャイルさんっぽいこと
とっさのデザイン〜ボタン編〜

Oocssとかついでにsmacssとbemの話も


[8]ページ先頭

©2009-2025 Movatter.jp