SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
CSS Talk vol.04 Manabu Yasuda
グローバルな
CSSコンポーネントを避ける
このような会話
をしたことはありませんか?
デザイナー
ここだけ少し見せ方変えたいです。
コーダー
このコンポーネントはサイト共通なので、
サイト内のすべてに反映されますがいいですか?
…(見せ方をちょっと変えたいだけなんだけどなあ)。
INTRODUCTION
自己紹介
安田 学 (Yasuda Manabu)
株式会社 TAM
マークアップエンジニア
https://github.com/manabuyasuda
@ Gaku0318
「ここだけ少しデザインを変えたい」
という要望があるときに、
コーディングには2つの選択肢があります。
1. OOCSSのSkinや BEMのModifierで拡張する
2. 別のコンポーネントとして追加する
拡張するのか、別のコンポーネントにするのか、
どちらが適切?
拡張するパターンが増えてくると
適切な名前がつけられなくなってしまって
連番になってしまったりすることも。
パっと見た感じでは、同じ見た目だけど
適切なルールセットが違う場合も。
text-align: center;margin: 0 auto; or
float or inline-block or table or flexbox
グローバルなCSSコンポーネントは
迷うことが実は多い。
グローバルなCSSコンポーネントは避けて
ローカルなCSSコンポーネントを
つくっていくのが、ベター。
ローカルなCSSコンポーネントを
つくる方法。
名前空間(接頭辞・プレフィックス)をつ
けて擬似ローカルスコープをつくる。
FLOCSSをはじめとして
コンポーネント名に名前空間をつけることが
一般的になってきています。
・Layout - .l-
・Component - .c-
・Project - .p-
・Utility - .u-
でも、今必要なことは
コンポーネントの役割を示すことではなく
そのコンポーネントがどこで使われるのかを
示すこと。
・HomePage - .home-
・TopPage - .top-
・Products - .products-
どのコンポーネントが
どの範囲で共通化されているかを
共有・把握することができるようになります。
このような会話
ができるようになります。
デザイナー
ここだけ少し見せ方変えたいです。
コーダー
このコンポーネントは製品関連ページで
共通化しているので、
その中のすべてに反映されますがいいですか?
ローカルなCSSコンポーネントは
影響範囲が把握できるようになります。
もしくは
デザイナー
ありがとうございます!
デザイン送りますね。
コーダー
このコンポーネントは
このページ専用にしているので大丈夫ですよ。
無理に共通化しないことで、
円滑にデザインの変更ができるようになります。
コンポーネントのスコープの
目安は?
・ホームページ
・カテゴリートップページ
・カテゴリー詳細ページ
・採用情報ページ
・検索結果ページ
・サイトマップページ
はじめにザックリと分けて、必要に応じて
細分化していく。
スコープの切り方は
案件の内容とデザイン次第で決めていく。
CSSはデザインを実現するための
ツールの1つ。
CSSがデザインのボトルネックに
ならない工夫が必要。
完璧なコードを目指すより
いつでも柔軟に変更できるコードを
目指していきましょう。
ありがとうございました。

Mais conteúdo relacionado

Mais procurados

서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트NAVER Engineering
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVCTakashi Komada
 
Github Actionsで GASのデプロイを自動化した
Github Actionsで GASのデプロイを自動化したGithub Actionsで GASのデプロイを自動化した
Github Actionsで GASのデプロイを自動化したShioriSawada
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?増田 亨
 
디자인 시스템 디자인하기
디자인 시스템 디자인하기디자인 시스템 디자인하기
디자인 시스템 디자인하기sangyong lee
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)gree_tech
 
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」UIデザインとUXの超基礎「UI Design & UX for ENGINEER」
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」Kazuki Yamashita
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호NAVER Engineering
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
リクルートライフスタイルにおけるUX領域の取り組み
リクルートライフスタイルにおけるUX領域の取り組みリクルートライフスタイルにおけるUX領域の取り組み
リクルートライフスタイルにおけるUX領域の取り組みRecruit Lifestyle Co., Ltd.
 
15分でわかるモバイルアクセシビリティ
15分でわかるモバイルアクセシビリティ15分でわかるモバイルアクセシビリティ
15分でわかるモバイルアクセシビリティ力也 伊原
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門Tadahiro Ishisaka
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説Livesense Inc.
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718Mao Ohnishi
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라NAVER Engineering
 

Mais procurados (20)

서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트서비스 운영을 위한 디자인시스템 프로젝트
서비스 운영을 위한 디자인시스템 프로젝트
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
Github Actionsで GASのデプロイを自動化した
Github Actionsで GASのデプロイを自動化したGithub Actionsで GASのデプロイを自動化した
Github Actionsで GASのデプロイを自動化した
 
世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト世界最強のソフトウェアアーキテクト
世界最強のソフトウェアアーキテクト
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
 
디자인 시스템 디자인하기
디자인 시스템 디자인하기디자인 시스템 디자인하기
디자인 시스템 디자인하기
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」UIデザインとUXの超基礎「UI Design & UX for ENGINEER」
UIデザインとUXの超基礎「UI Design & UX for ENGINEER」
 
BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호BPL(Banksalad Product Language) 무야호
BPL(Banksalad Product Language) 무야호
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
リクルートライフスタイルにおけるUX領域の取り組み
リクルートライフスタイルにおけるUX領域の取り組みリクルートライフスタイルにおけるUX領域の取り組み
リクルートライフスタイルにおけるUX領域の取り組み
 
15分でわかるモバイルアクセシビリティ
15分でわかるモバイルアクセシビリティ15分でわかるモバイルアクセシビリティ
15分でわかるモバイルアクセシビリティ
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説人は一ヶ月でエンジニアになれるのか - 詳細解説
人は一ヶ月でエンジニアになれるのか - 詳細解説
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라이번 생에 디자인 시스템은 처음이라
이번 생에 디자인 시스템은 처음이라
 

Semelhante a グローバルなCSSコンポーネントを避ける

エンジニアとデザイナーとの距離
エンジニアとデザイナーとの距離エンジニアとデザイナーとの距離
エンジニアとデザイナーとの距離Manabu Yasuda
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成Kazuki Akiyama
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Yasuhito Yabe
 
WordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWeb nist
 
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
 
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
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情Shingo Iwahori
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介優也 田島
 
Enduring CSS
Enduring CSSEnduring CSS
Enduring CSSTakazudo
 
WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門Sou Lab
 
Web制作勉強会 #1
Web制作勉強会 #1Web制作勉強会 #1
Web制作勉強会 #1Moto Yan
 
a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」Seiko Kuchida
 
Dreamweaver
コードヒントHowTo
Dreamweaver
コードヒントHowToDreamweaver
コードヒントHowTo
Dreamweaver
コードヒントHowToAkira Maruyama
 
テーマ・プラグイン 公開のススメ WordCampTokyo2012
テーマ・プラグイン 公開のススメ WordCampTokyo2012テーマ・プラグイン 公開のススメ WordCampTokyo2012
テーマ・プラグイン 公開のススメ WordCampTokyo2012Hidekazu Ishikawa
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)Horiguchi Seito
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminarAtushi Sugiyama
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶclimbFrog
 
まだやれる Css preprocesser
まだやれる Css preprocesserまだやれる Css preprocesser
まだやれる Css preprocesserShinya Sugo
 
超初心者のためのWordPressのサイトのデザインの微調整方法
超初心者のためのWordPressのサイトのデザインの微調整方法超初心者のためのWordPressのサイトのデザインの微調整方法
超初心者のためのWordPressのサイトのデザインの微調整方法Hidekazu Ishikawa
 

Semelhante a グローバルなCSSコンポーネントを避ける (20)

エンジニアとデザイナーとの距離
エンジニアとデザイナーとの距離エンジニアとデザイナーとの距離
エンジニアとデザイナーとの距離
 
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成CSSフレームワークを使った 簡単なレスポンシブデザインの作成
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
WordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えること
 
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
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
 
あるマークアップエンジニアの 初期制作時のテンプレ事情
あるマークアップエンジニアの初期制作時のテンプレ事情あるマークアップエンジニアの初期制作時のテンプレ事情
あるマークアップエンジニアの 初期制作時のテンプレ事情
 
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
Sassの基本機能のみで効率的なWordPressのcssコーディングtipsをご紹介
 
SMACSS入門
SMACSS入門SMACSS入門
SMACSS入門
 
Enduring CSS
Enduring CSSEnduring CSS
Enduring CSS
 
WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門WordPressでCSSプリプロセッサ入門
WordPressでCSSプリプロセッサ入門
 
Web制作勉強会 #1
Web制作勉強会 #1Web制作勉強会 #1
Web制作勉強会 #1
 
a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」
 
Dreamweaver
コードヒントHowTo
Dreamweaver
コードヒントHowToDreamweaver
コードヒントHowTo
Dreamweaver
コードヒントHowTo
 
テーマ・プラグイン 公開のススメ WordCampTokyo2012
テーマ・プラグイン 公開のススメ WordCampTokyo2012テーマ・プラグイン 公開のススメ WordCampTokyo2012
テーマ・プラグイン 公開のススメ WordCampTokyo2012
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
 
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶWord press初心者が 基本アーキテクチャを ざっくりと学ぶ
Word press初心者が 基本アーキテクチャを ざっくりと学ぶ
 
まだやれる Css preprocesser
まだやれる Css preprocesserまだやれる Css preprocesser
まだやれる Css preprocesser
 
超初心者のためのWordPressのサイトのデザインの微調整方法
超初心者のためのWordPressのサイトのデザインの微調整方法超初心者のためのWordPressのサイトのデザインの微調整方法
超初心者のためのWordPressのサイトのデザインの微調整方法
 

グローバルなCSSコンポーネントを避ける