Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

More than 5 years have passed since last update.

CSS講義 第1回

Last updated at Posted at 2017-07-11
1 / 12

本日覚えていって欲しいこと

  1. CSSの歴史
  2. CSSは何のために存在するのか
  3. CSSの仕様策定プロセス

CSSとは

  • Cascading Style Sheets(カスケーディング・スタイル・シート)
  • 1994年にHåkon Wium Lie(ホーコン・ウィウム・リー)氏により提唱された
  • HTMLやXMLの要素をどのように修飾(表示)するかを指示する、W3Cによる仕様の一つ
  • Webページの見た目を調整する宣言的な言語
  • スタイルの宣言には、Webページの見た目を決定するプロパティ(property)とその値(value)を含む

:relieved: CSSはWebページの見た目(レイアウト・装飾)を指示する言語ということ。


CSSが広く実用されるより以前

HTML要素そのものや要素の属性で見た目を指定していました。

例1) <font> (HTML5で廃止)

<font size="1" color="#0000ff">この要素は廃止されました。CSSのfont-sizeプロパティやcolorプロパティを使用してください。</font>

例2) bgcolor 属性 (HTML5で廃止)

<table bgcolor="#0000ff">
  <tr>
    <th>bgcolor属性はHTML5で廃止になりました。</td>
    <td>CSSのbackground-colorプロパティを使用してください。</td>
  </tr>
</table>

例3) border 属性 (HTML5で廃止)

<img src="test.png" border="1" alt="border属性はHTML5で廃止されました。CSSのborderプロパティを使用してください。">

:relieved: 見た目を指示する役割を担っていたHTML要素や属性は多くがHTML4.01で非推奨、HTML5で廃止になりました。


例外) <img> に対するwidth属性とheight属性

<img> で挿入された画像は、画像の読込みが完了するまで自分自身のサイズを確定できません。
サイズを明示することで、レンダリングコストを抑えることができます。
なので、<img> にwidth属性とheight属性はつけよう!

<img src="test.png" width="100" height="100" alt="サイズを明示してあげよう!">

:relieved: <img> に対するwidth属性とheight属性は、見た目のため、というより、レンダリングコストを抑えるためにブラウザに提供する情報、というイメージ。


基本的な思想

それぞれの役割を分離させる。

  • HTML=文書構造
  • CSS=Webページの見た目

:relieved: 外部CSSなら、複数ページに対して一気にデザインを変えることができるしね。


勧告までの主なプロセス

プロセス
Working Draft (作業草案)
Candidate Recommendation(勧告候補)
Proposed Recommendation(勧告案)
Recommendation(勧告)

スクリーンショット 2017-07-12 1.41.11.png
(引用: World Wide Web Consortium Process Document 1 March 2017 )

:relieved: 勧告までのプロセスを「標準化プロセス」と言うよ。


勧告状況

Level 勧告状況
Cascading Style Sheets, Level 1 (CSS1) 勧告 1996年12月
Cascading Style Sheets, Level 2 (CSS2) 勧告 1998年5月
Cascading Style Sheets, Level 2 revision 1 (CSS 2.1) 勧告 2011年6月
Cascading Style Sheets, Level 3 (CSS3)
Cascading Style Sheets, Level 4 (CSS4)

:relieved: CSSの仕様はLevelという段階を持つよ。
勧告された仕様は「標準化」された仕様と言い換えられるよ。


CSS3・CSS4

CSS3以降ではCSS 2.1を中核とし、新たな機能の追加や改良をモジュール(機能の塊)に分割することで早期の標準化を実現した。
それぞれのモジュールは独立して標準化されているため、CSS3標準自体は正式には存在しない。

CSS_Modules_and_Snapshots.png
(引用:CSS3(MDN))

:relieved: CSS3はLevel3モジュールの総称、CSS4はLevel4モジュールとCSS3で未定義だった新しいモジュールの総称、て感じかな。


例) Grid Layout Module Level1

  • CSSのための新たなレイアウトモジュール
  • COLUMN(縦軸)とROW(横軸)の二次元でのレイアウトが可能
 .container {
  grid-template-columns: 40px 50px auto 50px 40px;
  grid-template-rows: 25% 100px auto;
}
  • float display:inline-block; display:table; display:flex; では実現できなかったレイアウトも可能に

:relieved: 新しいモジュールのため当然ながらモジュールのLevelはLevel1。ステータスは2017年5月9日時点でCandidate Recommendation(勧告候補)。
1996年に勧告されたCSS1とは同じ「1」でもちょっと意味が違うよ〜ということ。

  • 2017年3月以降ChromeとFirefoxでデフォルトで使用できるようになり、ほぼ全てのモダンブラウザで使用できるようになったため、4月あたり「使ってみた」系の記事が乱舞
    スクリーンショット 2017-07-12 2.35.19.png
    (引用:Can I Use

:relieved: Grid Layout Moduleについては興味があったら触ってみるといいよ〜。


今日はここまで


次回予告

標準化されてなくてもブラウザが実装してくれていれば使える。
逆に標準化されていてもブラウザが実装してくれていなければ使えない。
CSSとブラウザは切っても切れない関係でござります...。

ということで、次回はWeb開発者が日頃大変お世話になっているブラウザについてお勉強しましょう。

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?