SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
UAスタイルシートと
リセットCSS
Tomoki Kubo
株式会社まぼろし

マークアップエンジニア

ブログ: KOJIKA17

Adobe Creative Stationにて、Emmetの連載中
もくじ
• UAスタイルシート

- UAスタイルシートの基本

- モダンブラウザのUAスタイルシート
• リセットCSS

- 全称セレクタ

- Reset CSS

- Normalize.css

- リセットCSS と Normalize.css
• まとめ
UAスタイルシート
Webサイトの表示に関わるスタイルシート
1. User Agent Style Sheets
2. Cascading Style Sheets
(User Style Sheets)
HTMLの見た目は、
UAスタイルシートが
決めているにすぎない
HTML = 意味付け
スタイルシート = 見た目
HTMLとスタイルシートは
分離して考えましょう
head, title, meta,
style, script要素も
意味付け
HTML(body要素は空)
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style contenteditable="true">
* {
display: block;
}
title {
margin: 1em;
color: #f00;
}
style {
white-space: pre;
}
</style>
</head>
<body></body>
</html>
ブラウザの表示
UAスタイルシートの見本
Default style sheet for HTML 4

http://www.w3.org/TR/CSS2/sample.html
基本的に
上下のmargin指定が
ついている
モダンブラウザの
UAスタイルシート
HTML5の新要素の
UAスタイルシートは?
2009年頃
• Internet Explorer 8, Firefox 2

HTML5の新要素のDOMをうまく作れなかった
• Firefox 3.x, Safari, Google Chrome

UAスタイルシートに新要素の記述がまだない
現在
もちろん、ばらつきがある
html5jグループにて
「IE11 でmain 要素のwidth,height 指定が
無視されるのはなぜでしょうか?」
display: block;以外も
追加されている要素がある
margin-before?after?
論理方向プロパティ
• margin-start / margin-end
• margin-before / margin-after
• padding-start /padding-end
• padding-before /padding-after
論理方向プロパティ
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo
consequat.
before
after
start end
writing-mode: lr-tb;
beforeafter
start
end
論理方向プロパティ
writing-mode: tb-rl;
モダンブラウザ
h1要素の見た目
HTML
<h1>Lv 1</h1>
<section>
<h1>Lv 2</h1>
<section>
<h1>Lv 3</h1>
</section>
</section>
ブラウザの表示
h1要素の見た目は
セクショニング・コンテンツの
深度によって変わる
Firefox
resource://gre-resources/html.css
WebKit html.css
http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css
アウトライン・アルゴリズムは
視覚的にわかりやすくなっているだけ

HTMLとスタイルシートを混同しない
リセットCSS
各ブラウザの差異を埋める手法
リセットCSSの目的
ブラウザ間の表示を統一させる
全称セレクタ
* {
margin: 0;
padding: 0;
border: none;
font-size: 100%;
}
すべての要素の値をまとめて指定できる
意図しない要素までリセットする可能性がある
Reset CSS
• Eric Meyer’s "Reset CSS" 2.0
• Yahoo! (YUI 3) Reset CSS
• HTML5 Doctor CSS Reset
Normalize.css
• UAスタイルシートを生かすことを目的とした
CSS
• ブラウザのスタイルシートの差異を修正
• コード内のコメントに、詳細な説明が入って
いる
Firefox 40が

2015年8月11日にリリース
• <abbr>、<acronym> 要素に text-decoration プロパティが
使われるようになった
• 具体的に、border-block-end: dotted 1px が

text-decoration: dotted underline に置き換えられた
• Google Chrome は border-bottom を使用している
• Normalize.css が、修正対象になっている
Rest CSSや
Normalize.cssも
たまには見直しが必要
Rest CSSと
Normalize.cssの折衷
sanitize.cssやReboot
Rest CSS と Normalize.css
好きな方を使えば、
いいと思う
もし使い分けるなら
Nicolas Gallagher –
Blog & Ephemera
http://nicolasgallagher.com
UAスタイルシートを生かしたまま、
要素をひとつのモジュールとして
機能させられるサイト
楽天市場
http://www.rakuten.co.jp
プロパティを初期化した方が
構築しやすいなら
Rest CSS
まとめ
• UAスタイルシートは、HTMLの変化が出やすい
• Rest CSSやNormalize.cssを重複して

読んでいなければ、なんでもいいと思う
ありがとうございました。

Contenu connexe

En vedette

HTML Tutorial: Chapters 1 & 2
HTML Tutorial: Chapters 1 & 2HTML Tutorial: Chapters 1 & 2
HTML Tutorial: Chapters 1 & 2michaeljm007
 
background-(image|size) の深みへようこそ
background-(image|size) の深みへようこそbackground-(image|size) の深みへようこそ
background-(image|size) の深みへようこそShota Kubota
 
フリーランスデザイナーとクライアントとのつきあい方
フリーランスデザイナーとクライアントとのつきあい方フリーランスデザイナーとクライアントとのつきあい方
フリーランスデザイナーとクライアントとのつきあい方kenji goto
 
CSS設計とデザインとの距離
CSS設計とデザインとの距離CSS設計とデザインとの距離
CSS設計とデザインとの距離Manabu Yasuda
 
デザインしないデザイナーになる
デザインしないデザイナーになるデザインしないデザイナーになる
デザインしないデザイナーになるkenji goto
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計Manabu Yasuda
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?Minoru Yokomichi
 

En vedette (8)

HTML Tutorial: Chapters 1 & 2
HTML Tutorial: Chapters 1 & 2HTML Tutorial: Chapters 1 & 2
HTML Tutorial: Chapters 1 & 2
 
background-(image|size) の深みへようこそ
background-(image|size) の深みへようこそbackground-(image|size) の深みへようこそ
background-(image|size) の深みへようこそ
 
フリーランスデザイナーとクライアントとのつきあい方
フリーランスデザイナーとクライアントとのつきあい方フリーランスデザイナーとクライアントとのつきあい方
フリーランスデザイナーとクライアントとのつきあい方
 
Review the OOCSS
Review the OOCSSReview the OOCSS
Review the OOCSS
 
CSS設計とデザインとの距離
CSS設計とデザインとの距離CSS設計とデザインとの距離
CSS設計とデザインとの距離
 
デザインしないデザイナーになる
デザインしないデザイナーになるデザインしないデザイナーになる
デザインしないデザイナーになる
 
コンポーネント指向と余白の設計
コンポーネント指向と余白の設計コンポーネント指向と余白の設計
コンポーネント指向と余白の設計
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 

Similaire à UAスタイルシートと リセットCSS

悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)Horiguchi Seito
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャMayu Kimura
 
カスタムCSSについて
カスタムCSSについてカスタムCSSについて
カスタムCSSについてSatoru Shinmura
 
CSS勉強会(第1回)
CSS勉強会(第1回)CSS勉強会(第1回)
CSS勉強会(第1回)Bao Linh Le
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Yasuhito Yabe
 
第8回rest勉強会 bootstrap編
第8回rest勉強会 bootstrap編第8回rest勉強会 bootstrap編
第8回rest勉強会 bootstrap編ksimoji
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレMuyuu Fujita
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26Yu Ito
 
Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理QlikPresalesJapan
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目Takashi Endo
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップYasuhito Yabe
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法decode2016
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet studySix Apart
 
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)Shin Takeuchi
 

Similaire à UAスタイルシートと リセットCSS (20)

悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 
CSS3がやってきた
CSS3がやってきたCSS3がやってきた
CSS3がやってきた
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
 
カスタムCSSについて
カスタムCSSについてカスタムCSSについて
カスタムCSSについて
 
カスタムCSSについて
カスタムCSSについてカスタムCSSについて
カスタムCSSについて
 
CSS勉強会(第1回)
CSS勉強会(第1回)CSS勉強会(第1回)
CSS勉強会(第1回)
 
about CSS3 vol.2
about CSS3 vol.2about CSS3 vol.2
about CSS3 vol.2
 
Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編Htmlコーディングの効率化 後編
Htmlコーディングの効率化 後編
 
第8回rest勉強会 bootstrap編
第8回rest勉強会 bootstrap編第8回rest勉強会 bootstrap編
第8回rest勉強会 bootstrap編
 
小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ小規模案件で作られた秘伝のタレ
小規模案件で作られた秘伝のタレ
 
シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26シラサギハンズオン 2016 05-26
シラサギハンズオン 2016 05-26
 
Css2
Css2Css2
Css2
 
Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理Qlik Replicateでのタスクの定義と管理
Qlik Replicateでのタスクの定義と管理
 
シークレット・オブ・CSSシークレット改訂版
シークレット・オブ・CSSシークレット改訂版シークレット・オブ・CSSシークレット改訂版
シークレット・オブ・CSSシークレット改訂版
 
メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目メディア工房サマーワークショップ「Webアプリ制作」1日目
メディア工房サマーワークショップ「Webアプリ制作」1日目
 
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
 
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
DEV-010_エンプラ系業務 Web アプリ開発に効く! 実践的 SPA 型モダン Web アプリ開発の選択手法
 
First sass
First sassFirst sass
First sass
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet study
 
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
 

Plus de 知己 久保

ラクするCSSツール
ラクするCSSツールラクするCSSツール
ラクするCSSツール知己 久保
 
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレHTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ知己 久保
 
すべての人に知っておいてほしい VoiceOverの基本原則
すべての人に知っておいてほしい VoiceOverの基本原則すべての人に知っておいてほしい VoiceOverの基本原則
すべての人に知っておいてほしい VoiceOverの基本原則知己 久保
 
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知己 久保
 
自動化のことはじめ - 第12回HTML5ビギナーズ

自動化のことはじめ - 第12回HTML5ビギナーズ
自動化のことはじめ - 第12回HTML5ビギナーズ

自動化のことはじめ - 第12回HTML5ビギナーズ
知己 久保
 
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~知己 久保
 

Plus de 知己 久保 (7)

L
LL
L
 
ラクするCSSツール
ラクするCSSツールラクするCSSツール
ラクするCSSツール
 
HTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレHTML/CSSを効率的にする メタ言語とツールのアレコレ
HTML/CSSを効率的にする メタ言語とツールのアレコレ
 
すべての人に知っておいてほしい VoiceOverの基本原則
すべての人に知っておいてほしい VoiceOverの基本原則すべての人に知っておいてほしい VoiceOverの基本原則
すべての人に知っておいてほしい VoiceOverの基本原則
 
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
 
自動化のことはじめ - 第12回HTML5ビギナーズ

自動化のことはじめ - 第12回HTML5ビギナーズ
自動化のことはじめ - 第12回HTML5ビギナーズ

自動化のことはじめ - 第12回HTML5ビギナーズ

 
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
今、話題のビルドツール gulp/Gruntを徹底解剖! ~ハンズオンで基礎から学ぶ、Web制作の味方 ビルドツール~
 

Dernier

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
 
論文紹介: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
 
論文紹介: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
 
論文紹介: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
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 

Dernier (9)

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
 
論文紹介: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
 
論文紹介: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
 
論文紹介: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...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
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」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 

UAスタイルシートと リセットCSS