CSSの未来

CSSは現在も改訂中

W3Cのメーリングリストに登録してみる

CSSの仕様を決めているのは、ブラウザメーカーではありません。W3C(ワールドワイドウェブ・コンソーシアム)の中で活動している、CSSのワーキンググループ「CSSWG」です。Apple、Google、Amazonなどのエンジニアからなる、100名を超える組織で、日本人も何名か参加しています。「背景と囲み線」チーム、「フレックスボックス」チーム、「フォント」チームなど、100余りの領域に分かれて活動しています。

この組織の良いところは、議論のやりとりを組織外の人も見られることです。www-style-request@w3.orgにメールを送ると、www-style@w3.orgからメールが届くようになります。「確かにこういうプロパティは今までなかった、ぜひ実現してほしい」など、最新の議論を知れるので楽しめます。

CSSワーキンググループCSSワーキンググループのTwitter

各ブラウザの対応状況を確認する方法

W3CのCSSWGが仕様を決めても、すぐに使えるようになるわけではありません。エディタメーカーが新機能として作りこまねばなりませんし、ブラウザメーカーが新しいCSSの書き方を無事見られるようにする必要もあります。エディタは未対応でも構いませんが、ブラウザが未対応だと困ります。一般に、主要なブラウザが未対応のCSSは、開発で利用を見送ります。

ブラウザがW3Cの仕様を満たしているかどうかチェックできるサイトがあります。新しいCSSを利用する判断ができます。

Can I use...

W3Cの仕様を満たしているかどうかチェックできるサイト、Can I Use...

上のオレンジ色の欄に、知りたいプロパティや値の名前を入れると、対応状況をすぐに検索してくれます。ブラウザの名前が並びます。緑は対応済、黄緑は一部未対応、赤色は全く未対応です。緑だらけであれば採用しますが、赤だらけでは見送ります。

CSSの新しい書き方は、使う前にブラウザの対応状況をチェックする。

Can I use...

近い未来に使えるようになる(かもしれない)プロパティ

CSSWGの議論を読んでいくと、いくつかの傾向が掴めます。今まで決まり文句で書いていた数行を、一行でもっと簡単に書ける。表現したいことは単純なのに、トリッキーなコードを書くしかなかったものを、一行でもっと簡単に書ける。今まで誰も考えてこなかった表現を、一行でもっと簡単に書ける。

つまり、一行でもっと簡単に書けるようになるのです。例えば、

position: sticky;

ナビゲーションを上部や下部に固定したり、サイドに問合せ先を固定したりできます。今まで少なくとも3行を書く必要がありましたが、1行で済みます。

wrap-flow: both;

「中央フロート」を実現します。コンテンツを要素の両側に流し込めます。もちろん右(end)か左(start)にも流し込めるうえ、clearfix(フロートの解除)も不要です。

flow-into: content-name;
flow-from: content-name;

Wordにおける「テキストボックスのリンク」です。コンテンツをページ内に分散して配置できます。

このように、未来のCSS開発者は、語彙こそ増やす必要はあるものの、細かな裏技を知らなくても、もっと恵まれて開発できるようになります。

CSSは将来、もっと簡単になる

CSSの最近の技術

SASS、SCSS

プログラミング経験のある方なら、CSSにはif文もないし、変数もない、だからCSSはプログラミング言語ではない。との考えもあります。しかし、それは今では誤りだと思います。条件分岐や変数を駆使できるCSSが登場しているのです。

SCSSは、条件分岐を使えるうえ、CSSの括弧{ }を入れ子にしてHTMLの入れ子を表現したり、頭に「$」を付けて変数にしたりできます。

$type: top;

main {
    div {
      @if $type == top {
        padding: 10px;
      } @else if $type == footer {
        padding: 5px;
      } @else {
        padding: 15px;
      }
    }
}

SCSSで書いたファイルは、CSSに変換してから、アップロードします。

SASSSCSSプリプロセッサコンパイル

CSSフレームワーク

CSSでウェブサイトのデザインテーマを決めることは時々難しいと感じられます。一からCSSでデザインを書くことが面倒だと感じる開発者も多くいます。その方に向け、CSSでデザインをすでに書いてある便利なライブラリがあります。これを使うと、ライブラリで決めてあるセレクタをHTMLタグのクラス名として付け足すだけで、整ったウェブサイトができ上がります。

実習:Bootstrap

また、最近はHTMLタグ名を自分で任意に決められる技術が普及しつつあり、例えば、<pasobora><do-not-use>というタグを書いても動くため、HTMLタグは自由に決められるようになっています。(初期値はdisplay: inline;です。)

BootstrapPolymerウェブコンポーネントマテリアルデザイン

CSS4(?)

CSS3の次を待望している人には残念ですが、CSSの次世代版はCSS4という名称ではなく、「CSS」という名称になる見込みです。今後もCSSという名称になるとみられます。

W3CのCSSWGは、いくつものチームに分かれています。チームには「Level」(レベル=バージョン)が割り当てられています。世界中の開発者たちから要望が集まれば、チームは活動し、新たに仕様を策定し、レベルを上げます。

CSSはチームごとに新しい仕様を決めるため、全体で新しいバージョンのCSSを公表することはなくなりました。この仕組みなら、CSSの仕様が巨大化しても、細かい対応ができそうです。

「CSS4」はこれからも存在しない

MDN

ウェブデザイン小技術集

よく見るCSSの熟語集

よくあるCSSの決まり文句を集めました。

参考:熟語集

上達への捷径「写経」

ウェブ開発が上達する秘訣はあるでしょうか。絵や作文もそうですが、学ぶにはまず真似ることから。開発者がよく採る方法は「写経」と呼ばれます。ソースコードを写していくという方法です。ソースコードは簡単にコピーできてしまいますが、コピーせず、一文字ずつキーボードで入力していき、同じ動きが実現できたら、終わり。これを繰り返して上達したプログラマは多いです。

人間は繰り返すと考えるようになるもので、もっと楽するには、もっとよくするには、と次第にアイデアは尽きなく出てきます。そうなれば占めたもの。もう立派なプログラマです。

上達のコツは、ソースコードを写すこと。

考えたとおりに作る方法

ウェブ開発者は、いきなりエディタに向かいません。まず設計図を用意します。サイトのアイデアを紙とペンで書き出し、取り込むデザインや機能を考えます。次に、PowerPointなどを使ってレイアウトを設計し、図面に起こします。さらに、それらをもとに、完成版に似た、ブラウザで動くサイトを作成します。

この設計過程を経て、開発を開始し、試験に問題がなければ運用を始め、保守や更新や小規模な改善を続けます。一見大変そうですが、考えたとおりに作れるようになると、実に楽しい仕事です。

デザインカンプワイヤーフレームプロトタイプモックアッププルーフオブコンセプトデモンストレーション

おすすめ参照文献

ウェブで読む

  1. MDN

    Firefoxを開発するモジラ社のウェブサイト。技術書よりも詳しいと評判。日本語訳はボランティアが担当。

  2. サルワカくん

    初心者にありがたい個人運営のウェブサイト。デザインも読みやすい。新しい技術の記事もあり、全部読めば初心者を脱せます。

  3. LIG

    上野にあるウェブ制作会社のウェブサイト。豊富なコンテンツは社員が書いている。その中からデザイナーズコラムをご紹介。

  4. CSS Reference

    CSSの全プロパティをサンプルとともに網羅したウェブサイト。CSSの辞書として利用されている。

  5. UX MILK

    ウェブデザイン、特にユーザインターフェースに関するウェブサイト。ほぼ毎日更新がある。海外の最新技術記事の翻訳も掲載。

  6. ferret

    ウェブマーケティングの最新情報を集めたウェブサイト。このサイトのおかげでウェブマーケティングの本が売れないと評判。

書籍で読む

ウェブ制作は職業柄、つい本に費用をかけてしまいがちです。できるだけウェブで探して読んでいければ安く済みます。検索語をうまく考えることができれば、初級の本を買わずに済みます。30冊読むと一人前の腕になるといわれています。私は、書店に出向いて自分に合う本を選んでから、買うか節約するかを考えています。

  1. いちばんよくわかるWebデザインの基本きちんと入門

    ウェブデザインを学び始めたばかりの人にとっては、1冊に詳しくまとまっている本だと感じると思います。

  2. Webデザイン良質見本帳

    ウェブデザインのアイデアが枯れたときに手元にあると安心。ヘッダーやフッター、見出しや配色など、パーツのサンプルデザイン集。

  3. なるほどデザイン

    ウェブデザインに限らず、デザインの感覚を養うための、今最も信頼されている本。業界で著名なコンセント社が関わっています。

  4. 配色アイデア手帖

    一読しただけで色のレパートリーを増やせる本。本のサイズは、手元に置いてキーボードが打てるよう、配慮されています。

  5. ノンデザイナーズ・デザインブック

    デザインを学んだことのない人でも上達する4つのレイアウトルールを提唱した、世界的なロングセラー。

  6. CSS3開発者ガイド

    個人的には、こうした中上級者向けの本に挑戦することで力が付きました。ウェブに載っていない情報も得られました。

作って公開するには

  1. GitHub

    ソースコードを共有するSNS。世界中の開発者の書いたソースコードを無料で見られるうえ、ダウンロードも自由にできます。

  2. CodePen

    CSSやJavaScriptで書いたちょっとしたデザインを共有するSNS。凝った作品も多数あり、思わず息をのむものも。

  3. Qiita

    日本中のエンジニアが、技術情報を惜しげもなく公開するSNS。このサイトでの活動が、転職面接で評価されると評判。

  4. teratail

    エンジニアが日本語で質問に答えるQ&Aサイト。開発で詰まったときに質問すると、数分で回答が得られます。