狠狠撸

狠狠撸Share a Scribd company logo
鲍础スタイルシートと
リセットCSS
Tomoki Kubo
株式会社まぼろし?
マークアップエンジニア?
ブログ: KOJIKA17?
Adobe Creative Stationにて、Emmetの連載中
もくじ
? 鲍础スタイルシート?
- 鲍础スタイルシートの基本?
- モダンブラウザの鲍础スタイルシート
? リセットCSS?
- 全称セレクタ?
- Reset CSS?
- Normalize.css?
- リセットCSS と Normalize.css
? まとめ
鲍础スタイルシート
Webサイトの表示に関わるスタイルシート
1. User Agent Style Sheets
2. Cascading Style Sheets
(User Style Sheets)
鲍础スタイルシートと リセットCSS
鲍础スタイルシートと リセットCSS
HTMLの見た目は、
鲍础スタイルシートが
決めているにすぎない
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>
ブラウザの表示
鲍础スタイルシートの見本
Default style sheet for HTML 4?
http://www.w3.org/TR/CSS2/sample.html
鲍础スタイルシートと リセットCSS
基本的に
上下のmargin指定が
ついている
鲍础スタイルシートと リセットCSS
モダンブラウザの
鲍础スタイルシート
HTML5の新要素の
鲍础スタイルシートは?
2009年頃
? Internet Explorer 8, Firefox 2?
HTML5の新要素のDOMをうまく作れなかった
? Firefox 3.x, Safari, Google Chrome?
鲍础スタイルシートに新要素の記述がまだない
現在
もちろん、ばらつきがある
鲍础スタイルシートと リセットCSS
html5jグループにて
「IE11 でmain 要素のwidth,height 指定が
無視されるのはなぜでしょうか?」
display: block;以外も
追加されている要素がある
鲍础スタイルシートと リセットCSS
margin-before?after?
鲍础スタイルシートと リセットCSS
論理方向プロパティ
? 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
鲍础スタイルシートと リセットCSS
WebKit html.css
http://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css
鲍础スタイルシートと リセット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
鲍础スタイルシートと リセットCSS
Normalize.css
? 鲍础スタイルシートを生かすことを目的とした
CSS
? ブラウザのスタイルシートの差異を修正
? コード内のコメントに、詳細な説明が入って
いる
鲍础スタイルシートと リセットCSS
鲍础スタイルシートと リセットCSS
鲍础スタイルシートと リセット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
鲍础スタイルシートと リセットCSS
鲍础スタイルシートを生かしたまま、
要素をひとつのモジュールとして
機能させられるサイト
楽天市場
http://www.rakuten.co.jp
鲍础スタイルシートと リセットCSS
プロパティを初期化した方が
構築しやすいなら
Rest CSS
まとめ
? 鲍础スタイルシートは、HTMLの変化が出やすい
? Rest CSSやNormalize.cssを重複して?
読んでいなければ、なんでもいいと思う
ありがとうございました。

More Related Content

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