SlideShare une entreprise Scribd logo
1  sur  92
Télécharger pour lire hors ligne
Architecture for CSS 
悩まないコーディングをしよう! 
OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計
ホリグチ セイト 
自己紹介 
Front-End-Engineer 
担当している業務 
html,css,jsを用いいた中規模メディアサイト, 
Webアプリケーションの開発 
趣味 
Lang-8(先週から)、漫画(いろいろ)、 
宇宙とかSFとか 
経歴 
2001 
! 
2014 
2014 
初めてWebサイトを作る。当時最もモダンな「メモ帳」なるエディターを使い、 
また「おえかき掲示板」「キリ番システム」などのリッチコンテンツを提供した。 
デザイナーからフロントエンドエンジニアに転身。 
カルタ大会やハッカソンなど、業務外の事で活躍し始める。
アジェンダ 
はじめに 
CSS設計の3大メソッド 
OOCSS 
BEM 
SMACSS 
設計で必要な3つのこと 
設計指針 
ディレクトリ構成 
スタイルガイド 
業務で実践してみてわかった7つのこと 
まとめ
~はじめに~ 
CSS設計って何それ美味しいの?
CSS設計とは 
! 
CSSをより体系立て、より構造化させることで、 
制作とメンテナンスをより容易に行うこと 
※引用1 『SMACSS: Scalable and Modular Architecture for CSS』
CSSに強い拡張性、保守性、明瞭性を持たせることが大事 
と、言われています
というわけで、今回僕がお話しさせていただくことは3つです
たくさん知ろう 
いいとこだけ取ろう 
自分なりの設計をしてみよう
CSS設計の3大メソッド
OOCSS 
BEM 
SMACSS
OOCSS
オブジェクト指向に基づいて考案された設計手法。 
米Yahoo!のNicole Sullivan氏によって考案された。 
! 
OOCSSで設計されている代表的なサイト 
! 
! 
OOCSSとは
大きな特徴は以下の2つ 
要素をContainerとContentsに切り離して考える 
要素をStructureとSkinに切り離して考える
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える 
Container
要素をContainerとContentsに切り離して考える 
.registration
要素をContainerとContentsに切り離して考える 
Contents
要素をContainerとContentsに切り離して考える 
.text 
.input 
.heading 
.btn
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える
要素をContainerとContentsに切り離して考える 
.registration > button{ … } というような、依存したスタイルの充て方ではなく、 
.btn{ … }というように独立させてスタイルを充てると、色々なところで使い回せる
ストラクチャーとスキンを切り離そう 
(color) 
skin 
(display,text-align,…etc) 
structure 
(width,height)
structure skin
structure skin 
.btn{ 
display: 
inline-­‐block; 
border-­‐radius: 
5px; 
text-­‐align: 
center; 
} 
.btn-­‐green{ 
background: 
green; 
} 
.btn-­‐black{ 
background: 
black; 
} 
.btn-­‐pink{ 
background: 
pink; 
} 
.btn-­‐blue{ 
background: 
blue; 
}
structure skin 
.btn{ 
display: 
inline-­‐block; 
border-­‐radius: 
5px; 
text-­‐align: 
center; 
} 
.btn-­‐large{ 
width: 
300px; 
height: 
50px; 
} 
.btn-­‐medium{ 
width: 
200px; 
height: 
40px; 
} 
.btn-­‐small{ 
width: 
100px; 
height: 
30px; 
}
structure + skin 
= 
<button 
class="btn 
btn-­‐pink 
btn-­‐medium">button</button>
structure + skin 
= 
<button 
class="btn 
btn-­‐black 
btn-­‐large">button</button>
structure + skin 
= 
<button 
class="btn 
btn-­‐green 
btn-­‐small">button</button>
BEM
html構造を明確にすることに軸を置いた設計方法。厳格な命名規則が特徴。 
ロシアのYandex社によって考案された。 
! 
BEMで設計されている代表的なサイト 
! 
! 
BEMとは
大きな特徴は以下の2つ 
要素を Block, Element, Modifierの3つに分ける 
.Block__Element_Modifierという命名ルールを用いる
Block, Element, Modifier
Block, Element, Modifier 
Block
Block, Element, Modifier 
.registration
Block, Element, Modifier 
Element
Block, Element, Modifier 
.registraion__heading 
.registraion__text 
.registraion__input 
.registraion__btn
Block, Element, Modifier 
Modifier
Block, Element, Modifier 
.registraion__btn_color_bule
MindBEMding 
BEMのエッセンスをとり入れつつ、命名ルールは 
自分たちでカスタマイズするのもあり 
CSS Wizardly 
Harry Roberts氏 
http://csswizardry.com/2013/01/mindbemding-getting-your-head 
-round-bem-syntax/
SMACSS
SMACSSとは 
OOCSS,BEMの流れを汲みつつ、著者の経験や理論も交えてドキュメントに落とし 
込まれたスタイルガイド(コーディングルール)。 
Jonathan Snook氏によって考案された。
大きな特徴 
要素をBase,Layout,Module,State,Theme 
の5つに分ける
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme 
! 
reset.css 
helper.css 
…etc
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme
Base 
Layout 
Module 
State 
Theme 
.tab .is-current
Base 
Layout 
Module 
State 
Theme
その他にもいろいろ 
マルチクラス推奨 
ざっくりした命名規則 
Sassでの実装方法 
などなど
設計で必要な3つのこと
設計指針 
ディレクトリ構成 
スタイルガイド
設計指針
設計指針 
コーディングを行う際に守るべき約束事。 
方針。 
コーディング中に迷いが生じたら、これを 
元に判断・解決する
設計指針 例 
SMACSSの場合 
HTMLとコンテントのセマンティックな価値を向上すること 
特定のHTML構造への依存を低減すること 
※引用1 『SMACSS: Scalable and Modular Architecture for CSS 日 
本語』
設計指針 例 
KOJI ISHIMOTO氏の場合 
絶対にCSSを増やしたくない 
class名で悩みたくない 
完璧じゃなくてもいい 
石本 光司 
@t32k 
Front-end-engineer 
サイバーエージェント所属 
JS Girl ファウンダー 
※引用2 KOJI ISHIMOTO『ぼくのかんがえたさいきょうのしーえしゅえしゅ』
ディレクトリ構成
ディレクトリ構成例(SMACSSベース) 
html scss js image
ディレクトリ構成例(SMACSSベース) 
html scss js image
ディレクトリ構成例(SMACSSベース) 
normlize.scss 
helper.scss 
header.scss 
footer.scss 
main.scss 
side.scss 
button.scss 
heading.scss 
table.scss 
form.scss 
scss 
mixin.scss 
…etc 
setting.scss 
common.scss 
base 
layout 
module
ディレクトリ構成例(SMACSSベース) 
scss 
mixin.scss 
setting.scss 
common.scss 
normlize.scss 
helper.scss 
header.scss 
footer.scss 
main.scss 
side.scss 
button.scss 
heading.scss 
table.scss 
form.scss 
…etc 
base 
layout 
module
ディレクトリ構成例(SMACSSベース) 
common.scss 
@importして1つのCSSに 
@import "normlize.scss"; 
@import “helper.scss”; 
! 
@import "header.scss"; 
@import "footer.scss"; 
@import "main.scss"; 
@import "side.scss"; 
! 
@import "button.scss"; 
@import "heading.scss"; 
@import "table.scss"; 
@import "form.scss";
ディレクトリ構成 まとめ 
カテゴライズして分けておくと管理しやすい 
SMACSSなどのスタイルガイドを参考にしよう 
(他にこんなのもあります)
スタイルガイド
スタイルガイド 
モジュールの一覧表。コンポーネント一覧と 
呼ばれることもしばしば。 
コーディングルールやカラーコードを載せる 
 となお良い。
※引用3 Twitter『 Bootstrap』
スタイルガイド 作り方 
htmlとcssでべた書きで作る 
ジェネレーター使う
スタイルガイド 参考になるもの 
CSS フレームワーク 
コーディングルール
スタイルガイド まとめ 
コンポーネントの一覧があると保守しやすく、 
コミュニケーションコストを減らせる 
ジェネレーターを使おう
業務で実践してみてわかった 
7つのこと
設計がオリジナルすぎると残業増える
設計がオリジナルすぎると残業増える 
設計者&作業者のコミュニケーションコストが増える 
既存の手法を取り入れつつ、厳しすぎないルールを設ける 
S 
命名ルールってこの場合はどう 
なるの? 
このデータはどこに入れるべき? 
これはElement ? 
それともBlockかな? 
oh…
ベストプラクティスなんてない!
ベストプラクティスなんてない! 
時と場合による 
S 
メンバー案件の内容期限
S ベストプラクティスなんてない! 
メンバー案件の内容期限 
自分なりの設計をしてみよう
言葉の意味はしっかり定義しとく
言葉の意味はしっかり定義しとく 
ContainerとContentとか、 
BlockとElementtとか、 
Moduleとか…言い方多すぎ? 
Layoutってどこの部分? 
S
BEMは案外めんどくない
S BEMは案外めんどくない 
Dashのスニペット機能が超絶楽 
PhpStormの補完機能は強力 
.block{ 
&__element{ 
background: black; 
} 
} 
Sass 3.3̃の使うと省略できる 
.block__element{ 
background: black; 
}
OOCSSとBEMは混ぜるとちょい危険
S OOCSSとBEMは混ぜるとちょい危険 
OOCSS 
シングルクラス向きマルチクラス向き 
.registration__btn_color_pink .btn .btn_pink .btn_small
S OOCSSとBEMは混ぜるとちょい危険 
OOCSS 
.Block__Element._modifier 
.registraion__btn._color_pink
セマンティックに 
こだわりすぎるのもよくない
S セマンティックにこだわりすぎるのもよくない 
.btn-blue 
.btn-pink 
.btn-green 
.btn-default 
.btn-primary 
.btn-success 
.btn-a 
.btn-b 
.btn-c 
予測しやすい予測しづらい 
変更しづらい変更しやすい
オブジェクト指向を勉強すると 
OOCSSが楽しくなる
オブジェクト指向を勉強するとOOCSSが楽しくなる 
スーパークラスとサブクラス 
複合オブジェクト など 
S 
オススメ 
ITmedia エンタープライズ『5分で絶対に分かるオブジェクト指向』 
URL : http://www.itmedia.co.jp/im/articles/0703/06/news125.html
まとめ
たくさん知ろう 
いいとこだけ取ろう 
自分なりの設計をしてみよう
S たくさん知ろう 
OOCSS
S いいとこだけ取ろう 
OOCSS
OOCSS 
S 自分なりの設計をしてみよう 
自分や周りの環境に合わせて、最適な設計をしよう
S 参考文献 
※引用1 Jonathan Snook,斉藤祐也『SMACSS: Scalable and Modular Architecture for CSS』 
https://smacss.com/ja 
※引用2 KOJI ISHIMOTO『MOL - Designing for a Mobile World!』 
http://t32k.me/mol/log/the-perfect-css-i-thought/ 
※引用3 Twitter『 Bootstrap』 
http://getbootstrap.com/ 
谷 拓樹『Web制作者のためのCSS設計の教科書 モダンWeb開発に欠かせない「修正しやすいCSS」 
の設計手法』 
http://www.impressjapan.jp/books/1113101128 
株式会社ピクセルグリッド『Code Grid』 
https://app.codegrid.net/ 
Harry Roberts『CSS Wizardly』 
http://csswizardry.com/
ご清聴ありがとうございました!

Contenu connexe

Tendances

意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)
意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)
意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)将之 小野
 
脱 Excel設計書
脱 Excel設計書脱 Excel設計書
脱 Excel設計書rai
 
Web開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppWeb開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppTomomitsuKusaba
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法佐久本正太
 
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目Yutaro Tamai
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんHayato Mizuno
 
Quartzでcronを範囲検索したい
Quartzでcronを範囲検索したいQuartzでcronを範囲検索したい
Quartzでcronを範囲検索したいchibochibo
 
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話terurou
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)Takanori Sejima
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行gree_tech
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-Yuta Imai
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発Takuya Ueda
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadogtyamane
 
Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンNoritaka Sekiyama
 
Rakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakuten Group, Inc.
 
知っておいて損はない AWS法務関連
知っておいて損はない AWS法務関連知っておいて損はない AWS法務関連
知っておいて損はない AWS法務関連Kieko Sakurai
 

Tendances (20)

意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)
意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)
意外と苦労する、一部の画面のみ ランドスケープ表示を許容する方法 (potatotips 第17回)
 
脱 Excel設計書
脱 Excel設計書脱 Excel設計書
脱 Excel設計書
 
私とmysqlとROLE
私とmysqlとROLE私とmysqlとROLE
私とmysqlとROLE
 
Web開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor AppWeb開発者が始める .NET MAUI Blazor App
Web開発者が始める .NET MAUI Blazor App
 
Jenkins 再入門
Jenkins 再入門Jenkins 再入門
Jenkins 再入門
 
HTML5, きちんと。
HTML5, きちんと。HTML5, きちんと。
HTML5, きちんと。
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法
 
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目
ソフトウェア更新プログラム (パッチ) 管理手法勉強会 1 回目
 
なんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうんなんでCSSすぐ死んでしまうん
なんでCSSすぐ死んでしまうん
 
Quartzでcronを範囲検索したい
Quartzでcronを範囲検索したいQuartzでcronを範囲検索したい
Quartzでcronを範囲検索したい
 
Paiza
PaizaPaiza
Paiza
 
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
EC2のストレージどう使う? -Instance Storageを理解して高速IOを上手に活用!-
 
GoによるiOSアプリの開発
GoによるiOSアプリの開発GoによるiOSアプリの開発
GoによるiOSアプリの開発
 
ここが良かったDatadog
ここが良かったDatadogここが良かったDatadog
ここが良かったDatadog
 
Effective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターンEffective Data Lakes - ユースケースとデザインパターン
Effective Data Lakes - ユースケースとデザインパターン
 
Rakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichiRakutenとsreと私 yanagimoto koichi
Rakutenとsreと私 yanagimoto koichi
 
知っておいて損はない AWS法務関連
知っておいて損はない AWS法務関連知っておいて損はない AWS法務関連
知っておいて損はない AWS法務関連
 

En vedette

ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーYoshiki Hayama
 
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマットKenya Kodaira
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計拓樹 谷
 
Thinking about CSS Architecture
Thinking about CSS ArchitectureThinking about CSS Architecture
Thinking about CSS Architecture拓樹 谷
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える拓樹 谷
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャMayu Kimura
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたEigoro Yamamura
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみただいすけ ふるかわ
 
ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座光利 吉田
 
Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法Katsumi Tazuke
 
デザインのためのデザイン
デザインのためのデザインデザインのためのデザイン
デザインのためのデザインMasayuki Uetani
 
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜Ayaka Sumida
 
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえようノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえようSasaki Kouhei
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうToshiaki Sasaki
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論tsukasa obara
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座Mariko Yamaguchi
 

En vedette (18)

ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 
2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット2016年版 フロントエンド開発フォーマット
2016年版 フロントエンド開発フォーマット
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計
 
Thinking about CSS Architecture
Thinking about CSS ArchitectureThinking about CSS Architecture
Thinking about CSS Architecture
 
モダンなCSS設計パターンを考える
モダンなCSS設計パターンを考えるモダンなCSS設計パターンを考える
モダンなCSS設計パターンを考える
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
 
プログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみたプログラマがWebデザインについて考えてみた
プログラマがWebデザインについて考えてみた
 
プログラマがデザインをがんばってみた
プログラマがデザインをがんばってみたプログラマがデザインをがんばってみた
プログラマがデザインをがんばってみた
 
Web design
Web designWeb design
Web design
 
ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座ノンデザイナーのためのWebデザイン講座
ノンデザイナーのためのWebデザイン講座
 
Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法Webデザインのトーン&マナーを導き出す手法
Webデザインのトーン&マナーを導き出す手法
 
デザインのためのデザイン
デザインのためのデザインデザインのためのデザイン
デザインのためのデザイン
 
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
 
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえようノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
 
Webデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼうWebデザインのセオリーを学ぼう
Webデザインのセオリーを学ぼう
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論
 
色彩センスのいらない配色講座
色彩センスのいらない配色講座色彩センスのいらない配色講座
色彩センスのいらない配色講座
 

Similaire à 悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)

Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Horiguchi Seito
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様株式会社GreenHack
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Yasuhito Yabe
 
UAスタイルシートと リセットCSS
UAスタイルシートと リセットCSSUAスタイルシートと リセットCSS
UAスタイルシートと リセットCSS知己 久保
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26Yu Ito
 
シラサギ勉強会1201
シラサギ勉強会1201シラサギ勉強会1201
シラサギ勉強会1201okusakazuya
 
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015知己 久保
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design OdysseyKenjiro Kubota
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情Shingo Iwahori
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目Takashi Endo
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成Kazuki Akiyama
 
モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法Kenji Karahashi
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点Horiguchi Seito
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsSeiko Kuchida
 
フロンエンドトレンドについて話そう
フロンエンドトレンドについて話そうフロンエンドトレンドについて話そう
フロンエンドトレンドについて話そうAtushi Sugiyama
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会Beeworks
 
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依schoowebcampus
 

Similaire à 悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応) (20)

Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
 
WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様WEB開発はじめの一歩 講師:村井亮介様
WEB開発はじめの一歩 講師:村井亮介様
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
UAスタイルシートと リセットCSS
UAスタイルシートと リセットCSSUAスタイルシートと リセットCSS
UAスタイルシートと リセットCSS
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
 
CSS3がやってきた
CSS3がやってきたCSS3がやってきた
CSS3がやってきた
 
シラサギ勉強会1201
シラサギ勉強会1201シラサギ勉強会1201
シラサギ勉強会1201
 
Css
CssCss
Css
 
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015Styleguide Driven Development x CMS - MTDDC Tokyo 2015
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
 
2017: A CSS Design Odyssey
2017: A CSS Design Odyssey2017: A CSS Design Odyssey
2017: A CSS Design Odyssey
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法モダンCSS設計と BEMという開発手法
モダンCSS設計と BEMという開発手法
 
Sass 超入門
Sass 超入門Sass 超入門
Sass 超入門
 
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cms
 
フロンエンドトレンドについて話そう
フロンエンドトレンドについて話そうフロンエンドトレンドについて話そう
フロンエンドトレンドについて話そう
 
Sass/Compass講習会
Sass/Compass講習会Sass/Compass講習会
Sass/Compass講習会
 
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
プロデザイナーが実践するHTML&CSSスキル向上トレーニング〜Wikipedia編 先生:笠井 枝理依
 

Plus de Horiguchi Seito

カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話Horiguchi Seito
 
元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学Horiguchi Seito
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Horiguchi Seito
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~Horiguchi Seito
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選Horiguchi Seito
 
Cross2015自己紹介LT資料
Cross2015自己紹介LT資料Cross2015自己紹介LT資料
Cross2015自己紹介LT資料Horiguchi Seito
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみようHoriguchi Seito
 

Plus de Horiguchi Seito (8)

Lets start-react
Lets start-reactLets start-react
Lets start-react
 
カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話カロリーインターンの僕が 新規事業を立ち上げた話
カロリーインターンの僕が 新規事業を立ち上げた話
 
元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学元コンビニ店長の人生を賭けたエンジニア留学
元コンビニ店長の人生を賭けたエンジニア留学
 
Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>Sassをはじめからていねいに<概要−基礎編>
Sassをはじめからていねいに<概要−基礎編>
 
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
レスポンシブ基礎 ~Webサイトをレスポンシブに する方法とそのメリット~
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
 
Cross2015自己紹介LT資料
Cross2015自己紹介LT資料Cross2015自己紹介LT資料
Cross2015自己紹介LT資料
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
 

Dernier

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Dernier (9)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)