Movatterモバイル変換


[0]ホーム

URL:


井上 誠, profile picture
Uploaded by井上 誠
PDF, PPTX117,037 views

大規模サイトにおける本当は怖いCSSの話

WDF.Vol.8で話したCSSについてのスライドです。HTMLの見た目を制御するCSS。CSS3やsassなど技術的な話題を目にすることは多いですがその運用方法について多くは語られていません。大規模サイトを大人数で制作する状況でCSSはどうあるべきか。DMM.comという巨大サイトの運用を通じて得た経験を話したいと思います。

Embed presentation

Download as PDF, PPTX
本当は怖いCSSの話大規模サイトにおけるMakoto Inoue Talk of CSS fearful in fact
井上 誠三重県伊勢市出身金沢美大工芸科卒業DMM.com Labo勤務入社8年目デザイン部チーフtwitter: @in0in0facebook: http://www.facebook.com/in0in0Makoto Inoue Talk of CSS fearful in fact
CSSの何が怖いの?A thing with what dreadful of CSS?
影響範囲が広いエラーを吐かないid,classがサイト中に分散する
小規模だと問題は起こりにくい
規模が大きくなるとトラブルが…
確認する<p class=”btn check”>チェックボックス✓<input type=”checkbox”class=”check”>段落ですp span{color:blue;margin:20px}<p class=”btn”><span>ボタン</span></p>ボタン定義済みのid,class名をつけた要素の再定義で崩れた
ボタンcheck!ボタンcheck!ボタンcheck!hoge.htmlfuga.htmlmoge.htmlボタンcheck!hage.htmlボタンボタンボタン.button{...}.bt{...}.botan{...}ボタン.btn{...}影響範囲が大きく修正しづらい無計画にコピペされている
共通ボタン 例外ボタン共通ボタンデバイスの向きを変えられるユーザはいつでも、さまざまな理由でiOSデバイスの向きを変えることができます。たとえば、実行する操作が縦長の向きのほうが自然に感じられる場合もあれば、横長のほうがより多くの情報を表示できると感じられる場合もあります。デバイスの向きを変える理由が何であれ、アプリケーションの主要な機能が見やすいままであることをユーザは期待します。ユーザはホーム(Home)画面からアプリケーションを起動することが多く、そのためすべてのアプリケーションが同じ向きで開始することを期待する傾向があります。iPhoneとiPadではホーム(Home)画面の表示の仕方が異なるため、このような期待がアプリケーションに与える影響も異なります。●直接操作ユーザは、画面上のオブジェクトを、別のコントロールを通じてではなく直接操作すると、より深く作業に関わることになり、アクションの結果をより簡単に理解できます。iOSユーザは、Multi-Touchインターフェイスのおかげで、直接操作の感覚をより高度に感じることができます。ジェスチャを使用することで、ユーザはマウスなどの手段を用いることなく画面に表示されるオブジェクトにタッチすることができるため、それらオブジェクトに対してより強い親しみの感覚や制御している感覚を持ちます。たとえば、ズームのコントロールをタップする代わりに、ピンチのジェスチャを通じてコンテンツの領域を直接拡大、または縮小することができます。ゲームでは、プレーヤーが画面上のオブジェクトを直接動かしたり、対話をしたりします。たとえば、ゲームによっては、回して開くダイヤル錠を表示するものなどがあります。iOSアプリケーションでは、以下の場合にユーザが直接操作を体験できます。● 画面上のオブジェクトに影響を与えるため、デバイスを回転させたり、動かしたりするとき● ジェスチャを使用して画面上のオブジェクトを操作するとき● 自身のアクションが目に見える結果を即座にもたらす様子を見ることができるときフィードバックディスプレイはサイズに関係なくもっとも重要iOSデバイスのディスプレイは、ユーザ体験の中心的位置を占めています。ユーザはきれいな文字、グラフィック、メディアを見るだけでなく、(画面を見ることができなくても)Multi-Touch画面と指で物理的にやり取りして操作を進めます。iOSデバイスにはさまざまな寸法や解像度のディスプレイがありますが、使い勝手に関する限り、考え方はいずれも同じです。● タップ可能なUI要素の快適な最小サイズは44×44ポイントです。● ユーザは一般に、アプリケーションアートワークの質を敏感に意識します。● 画面表示が良好であれば、デバイスの違いを意識せず、本来の作業に集中できます。注意: ピクセルとは、画像編集アプリケーションにおいて、デバイスの画面のサイズや作成デバイスの向きを変えられるユーザはいつでも、さまざまな理由でiOSデバイスの向きを変えることができます。たとえば、実行する操作が縦長の向きのほうが自然に感じられる場合もあれば、横長のほうがより多くの情報を表示できると感じられる場合もあります。デバイスの向きを変える理由が何であれ、アプリケーションの主要な機能が見やすいままであることをユーザは期待します。ユーザが対話するのは一度に1つのアプリケーションフォアグラウンドに表示できるのは一度に1つのアプリケーシションから別のアプリケーションに切り替えると、前のアプし、そのユーザインターフェイスも表示されなくなります。こユーザが再起動または停止するまで、アプリケーションをバます。ほとんどのアプリケーションは、バックグラウンドに移行す状態のアプリケーションはマルチタスクUIに表示されるので、易に切り替えることができます。マルチタスクUIは画面の一番ションのUIまたはホーム(Home)画面の下に表示されます(次リケーションの場合)。共通化しすぎて最適化できないレギュレーションが足かせに
全部実際に起こりました
これなら怖くない!大規模サイトCSS設計の勘所The vital point of a large-scale site CSS design
指定の衝突、ダメ絶対!1
全体共有のセレクタは明確に.worklist{...}場所をなるべく限定する#list .worklist p#list p.d-worklist{...}例:接頭辞で明確にして衝突を回避する
将来の修正、変更を考える2
id,classの命名は意味的に.caution{color:red}.red{color:red}指定がなくてもclassをつける<div class=”listbox”><div>
組織の要件に合わせたCSS設計をする3
ストラクチャタイプHTML構造を重視、構造に沿ったCSS指定をしていく組織の要件に合わせたCSS設計をする3
ストラクチャタイプHTML構造を重視、構造に沿ったCSS指定をしていく#page-top #list {…}#page-top #list .worklist li {…}<body id="page-top">  <div id="list">    <ul class=”worklist”><li>...</li></ul>CSSHTML
・ページごとに最適化が可能・デザイン修正のみならCSSだけで対応できるメリット・パーツを使いまわしにくい・記述が冗長で開発、修正に時間がかかるデメリットデザイン、最適化重視の要件sassで解決ストラクチャタイプHTML構造を重視、構造に沿ったCSS指定をしていく
組織の要件に合わせたCSS設計をする3モジュールタイプ可搬性のあるパーツ単位でHTMLとCSSを作成する
モジュールタイプ可搬性のあるパーツ単位でHTMLとCSSを作成するul.worklist li {…}ul.favoritelist li {…}<ul class="worklist">  <li>...</ul><ul class="favoritelist">  <li>...</ul>CSSHTML
スピード、保守コスト重視の要件モジュールタイプ可搬性のあるパーツ単位でHTMLとCSSを作成する・パーツ一覧からコピペで開発ができる・デザイン統一がしやすいメリット・パーツ修正の検証範囲が広い・ページ単位のデザイン最適化がしにくいデメリット
組織の要件に合わせたCSS設計をする3オブジェクトタイプclass指定の組み合わせでパーツの見た目を定義する
オブジェクトタイプclass指定の組み合わせでパーツの見た目を定義する.headline{font-size:18px}.caution{color:red; font-weight:bold}.center{text-align:center}<p class="headline caution center">...<div class="caution center">...CSSHTML
フレームワーク重視の要件オブジェクトタイプclass指定の組み合わせでパーツの見た目を定義する・CSSファイルを触らずに開発ができる・コピペで開発ができるメリット・CSS設計にスキルを要する・CSS修正による影響予測が困難デメリット
組み合わせて使用してOK単一ページ:「ストラクチャタイプ」サイト全体:「モジュールタイプ」未使用 :「オブジェクトタイプ」うちの要件には合わなかったDMMでは…
まとめ・大規模サイトでは運用を考慮する・CSS指定の衝突は絶対避ける・組織の要件に合わせて設計する
ご清聴ありがとうございましたMakoto Inoue Talk of CSS fearful in fact

Recommended

PDF
グラフデータベースは如何に自然言語を理解するか?
PDF
ブラウザにやさしいHTML/CSS
PDF
AWS Black Belt Techシリーズ Amazon EBS
PDF
インテルMEの秘密 - チップセットに隠されたコードと、それが一体何をするかを見出す方法 - by イゴール・スコチンスキー - Igor Skochinsky
PDF
MonotaRO のデータ活用と基盤の過去、現在、未来
PDF
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
PDF
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
PDF
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
PPTX
20191220 「アウトプットしないのは知的な便秘」の影響力
PDF
AWS Organizations
PPTX
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
AWS OpsWorksハンズオン
ODP
漏れのある抽象化の法則
PDF
データセンターネットワークの構成について
PDF
PowerApps 初級ハンズオン(1時間弱でできます)
PPTX
Kinesis Firehoseを使ってみた
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PDF
データ分析を支える技術 DWH再入門
PPTX
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
PDF
実践!AWSクラウドデザインパターン
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
PPT
El trauco
PDF
データ分析を支える技術 データ分析基盤再入門
PDF
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
PPTX
Msを16倍出し抜くwpf開発1回目
PPTX
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
PDF
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
PDF
なんでCSSすぐ死んでしまうん
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)

More Related Content

PDF
グラフデータベースは如何に自然言語を理解するか?
PDF
ブラウザにやさしいHTML/CSS
PDF
AWS Black Belt Techシリーズ Amazon EBS
PDF
インテルMEの秘密 - チップセットに隠されたコードと、それが一体何をするかを見出す方法 - by イゴール・スコチンスキー - Igor Skochinsky
PDF
MonotaRO のデータ活用と基盤の過去、現在、未来
PDF
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
PDF
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
PDF
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
グラフデータベースは如何に自然言語を理解するか?
ブラウザにやさしいHTML/CSS
AWS Black Belt Techシリーズ Amazon EBS
インテルMEの秘密 - チップセットに隠されたコードと、それが一体何をするかを見出す方法 - by イゴール・スコチンスキー - Igor Skochinsky
MonotaRO のデータ活用と基盤の過去、現在、未来
AWS Black Belt Online Seminar AWSで実現するDisaster Recovery
スケールアウト・インメモリ分析の標準フォーマットを目指す Apache Arrow と Value Vectors - Tokyo Apache Dril...
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装

What's hot

PPTX
20191220 「アウトプットしないのは知的な便秘」の影響力
PDF
AWS Organizations
PPTX
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
PDF
AWS OpsWorksハンズオン
ODP
漏れのある抽象化の法則
PDF
データセンターネットワークの構成について
PDF
PowerApps 初級ハンズオン(1時間弱でできます)
PPTX
Kinesis Firehoseを使ってみた
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PDF
データ分析を支える技術 DWH再入門
PPTX
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
PDF
実践!AWSクラウドデザインパターン
PDF
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
PPT
El trauco
PDF
データ分析を支える技術 データ分析基盤再入門
PDF
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
PPTX
Msを16倍出し抜くwpf開発1回目
PPTX
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
PDF
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~
20191220 「アウトプットしないのは知的な便秘」の影響力
AWS Organizations
2016/12/15 SQLチューニングと対戦格闘ゲームの類似性について語る。 JPOUG Advent Calendar 2016 Day 15
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
AWS OpsWorksハンズオン
漏れのある抽象化の法則
データセンターネットワークの構成について
PowerApps 初級ハンズオン(1時間弱でできます)
Kinesis Firehoseを使ってみた
Docker道場オンライン#1 Docker基礎概念と用語の理解
データ分析を支える技術 DWH再入門
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
実践!AWSクラウドデザインパターン
AngularとSpring Bootで作るSPA + RESTful Web Serviceアプリケーション
El trauco
データ分析を支える技術 データ分析基盤再入門
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
Msを16倍出し抜くwpf開発1回目
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
IDaaS を正しく活用するための認証基盤設計 ~Azure Active Directory の構成パターン詳細~

Viewers also liked

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

大規模サイトにおける本当は怖いCSSの話


[8]ページ先頭

©2009-2025 Movatter.jp