コピペで済ませていませんか?改めて学び直したい「Viewport」のすべて
Viewportとメディアクエリの関係
スマートフォン対応のWebデザインを行うときに、Viewportとともに必ずといっていいほど登場する言葉が*「メディアクエリ」*(Meria Queries)です。
しかしながら、Webデザインを勉強したての頃は、Viewportとメディアクエリを混合してしまったり、違いをよく理解していないかもしれません。
そこで、メディアクエリについても確認していきましょう。
メディアクエリとは
メディアクエリとは、デバイスの解像度やウィンドウの幅、向きなどの指定条件に合わせて、別々のCSSを適用できる機能のことをいいます。
以前はユーザーエージェント(User Agent)という端末ごとの情報によって、パソコン・スマホをJavaScriptなどをつかって判別し、デスクトップサイト用・モバイルサイト用に振り分けていました。
しかし、メディアクエリの登場により、スクリーン幅に応じてCSSを切り替えるレスポンシブデザインを行うことが可能になりました。
メディアクエリでは、link要素中のmedia属性やCSSの*@media*規則を使って、デバイスやスクリーンサイズで適用範囲を切り替えることができます。
一般的に、link要素を利用して複数ファイルを読み込むよりも、CSS中で@mediaを記載した方がHTTPリクエストの回数が少なく、ページの読み込みが早くなると言われています。
ブレイクポイント
メディアクエリを使ったCSSの切り替えでは、CSSの切り替え条件として*「ブレイクポイント」*(Break Point)を設定します。
メディアクエリの記述例
メディアタイプのみを指定する場合はこのように記述します。
@media screen {
* {font-size: 16px; }
}
onlyをつけることで、メディアクエリに対応していないブラウザにはメディアクエリを読み込ませないようにできます。
@media only screen {
* {font-size: 16px; }
}
また、メディアタイプとブレイクポイントを設定することもできます。
@media screen and (min-width:960px){
* {font-size: 16px; }
}
効率のよいメディアクエリの書き方
一般的に、メディアクエリは「モバイルファースト」の考え方に沿って、スマートフォンなどの小さなスクリーン用から記述していきます。
その際、メディアクエリを指定していないCSS部分にはデスクトップとモバイルで共通のデフォルトのスタイルシートを記述し、メディアクエリを使った部分では、メディアクエリを指定していないデフォルトのスタイルシートとの差分を記述していきます。
@charset "utf-8";
// デフォルトのスタイル
@media screen and (min-width : 480px){
// 最小幅 480px 以上の指定
}
@media screen and (min-width : 768px){
// 最小幅 768px 以上の指定
}
@media screen and (min-width : 1024px){
// 最小幅 1024px 以上の指定
}
ブラウザは上からメディアクエリを判別していきます。
例えば上記のスタイルシートの場合、ウィンドウ幅が480px未満だと、ブラウザは以下の2つ目以降の指定を読み込みません。
このようにメディアクエリを効率よく記述することで、無駄なくスタイルシートを読み込ませることができます。
Viewportとメディアクエリの関係
ところで、スマートフォンデバイスに関しては、レスポンシブデザインでレイアウトを行う際には、CSSでメディアクエリを、HTMLでViewportを両方設定しておく必要があります。
これは、メディアクエリだけを指定したとしても、Viewportがなければ何も起こらないからです。
一方、メディアクエリを正しく設定しておけば、Viewportでwidth=device-widthを指定しておくだけで、ブレイクポイントによる切り替えを行うことが可能です。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- HTTP
- HTTPとは、HTMLで記述されたWebページなどの情報を、WebサーバーとPCなどのクライアント端末間でやり取りする方法を定めた通信手順のことです。Hyper Text Transfer Protocolの略です。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- デバイス
- デバイスとは「特定の機能を持つ道具」を表す語で、転じてパソコンを構成するさまざまな機器や装置、パーツを指すようになりました。基本的に、コンピューターの内部装置や周辺機器などは、すべて「デバイス」と呼ばれます。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング