「モバイルファースト」の原点
レスポンシブデザインに関する「モバイルファースト」の考え方は、モバイルデバイスのブラウザーがデスクトップデバイスにあるブラウザーよりもはるかに機能が低い時代から来ています。それらの多くはメディアクエリをまったくサポートしていなかったため、ファンシーなデスクトップデザインを構築し、狭いビューポートのメディアクエリを使用してスタイルを維持するという考えは、表面上は平坦になりません。
メディアクエリのサポートがないことは、実際には最初のメディアクエリです。
- ブライアン・リーガー
モバイルを第一に考えていますか?
モバイルデバイス用のブラウザーがデスクトップの対応物に追いついてきたという事実にもかかわらず、「モバイルファースト」は依然としてスタイルを記述する最も論理的な方法です。
「以前のスタイル宣言を取り消すことを避ける」という観点から考えるのが好きです。ほとんどの場合、スタイルを書き出して後でオーバーライドするのではなく、付加的なアプローチをとることで、スタイルシートがよりコンパクトになります。ほとんど/すべてのデバイスに適切なスタイルはメディアクエリの外側にある必要がありますが、特定のビューポートにのみ関連するスタイルはメディアクエリの背後にある必要があります。
「デスクトップファースト」アプローチを比較します。
.column {
float: left;
width: 50%;
}
@media all and (max-width: 50em) {
.column {
float: none;
width: auto;
}
}
「モバイルファースト」アプローチ:
@media all and (min-width: 50em) {
.column {
float: left;
width: 50%;
}
}
結果は同じですが、後者の方がコンパクトです。Brad Frostの7 Habits of Highly Effective Media Queriesから恥知らずにコピーされたサンプルスタイル。
「デスクトップファースト」が他の方法よりも適切な場合は、いくつかのまれな例外があります。これらの中で最も注目に値するのは、レスポンシブテーブルなどを実行している場合です。ビューポートが広いとテーブルのデフォルトスタイルが必要になりますが、ビューポートが狭いとすべてが上書きされ、コンテンツを垂直に積み重ねることができます。
スタイルシートを分解しないでください
絶対にすべきでないことの1つは、レスポンシブスタイルを個別のCSSファイルに分割し、リンク要素でメディア属性を使用することです。これは、UAがすべてのリンクされたスタイルシートをダウンロードするという望ましくない結果をもたらします(つまり、ダウンロードの速度は向上しません)。
<!-- this is bad, don't do this -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
したがって、コードは最初にモバイルである必要がありますが、設計へのアプローチはどうですか?
それは問題ではないと私は思う。デザインに関連するすべてのビューポートのためのレイアウトをしなければならない行うこと(これはあなたが必要な場合があります任意のマイナーのブレークポイントでわずか2かのように多くのあなた一度5などの因子として関与するかもしれません!)、順番は最後には問題ありません。多くの設計者は、デスクトップレイアウトから開始するための規律を欠いており、モバイルレイアウトから開始する方が簡単であることに気づきます。
デスクトップレイアウトから始めたい場合は、その輝かしい空白のすべてを、そのページのコンテンツを強化しない混乱で埋めるという誘惑を回避する必要があります。電話を持っている笑顔の女性の800x600ストックフォトが本当に必要ですか?無駄な綿毛をダウンロードするためにモバイルユーザーに余分な費用がかかるだけであり、デスクトップユーザーが過去をスキップする視覚的な注意散漫にすぎません。