Wiki_RWD(Responsive Web Design) - inoueshinichi/Wiki_Web GitHub Wiki

RWDの基本

  • 表示端末毎に表示スタイルを変える仕組み

実現方法

  • HTMLとCSSの組合せ
  • CSSのみの切り替えと画面サイズに合わせてレイアウト変更 (RWD)

メリット

  • 1つのHTMLで多くのデバイスに対応できるため, 情報の変更なので間違いが減る
  • 画面幅の狭いデバイスから広いデバイスまで, 柔軟に対応できる

デメリット

  • デバイスごとのレイアウトを大幅に変更することは難しいため, 無理が出てくる場合がある
  • PCからのアクセスの場合, Webブラウザーの画面幅によってレイアウトが変わってしまうため, 利用者が戸惑うことがある
  • スマホ用WebサイトでもPC専用の情報が残ってしまう可能性がある

ブレイクポイント

  • レイアウトが切り替わる横幅のこと
  • iPad Miniのサイズに合わせて768pxに設定することが多い.

実装方法

style.css

@media only screen and (条件) and (条件) {
  .プロパティ タグ {
     css: value;
     ...
   }
{

や

@media (max-width: 768px) {
  ...
}
  • メディアクエリーが重要
  • メディアクエリーの中に記述したCSSには, PC向けの条件をいれてはならない.
  • 基本的使い方は, PC用の幅広い向けにCSSを記述して, モバイル対応をメディアクエリーで上書きする方法をとる.

条件

条件 説明
min-width: 値px 横幅が値px以上
max-width: 値px 横幅が値px以下
min-height: 値px -
max-height: 値px -
aspect-ratio: 値 -
color: rgb -

親要素の指定を引き継ぐプロパティの指定

  • 広い画面幅での表示のみを変えたい(グレーから赤)ときに有効

index.html

<div>
  <p>HTML</p>
</dev>

style.css

div {
  color: #666; /* グレー */
}

div p {
  color: # f00 /* 赤 */
}

@media only screen (max-width: 600px) {
  div p {
    color: # 666; /* グレー */
  }
}
  • これでは, 元の(メディアクエリーでない部分の)<div>要素で定義している文字の色プロパティが変更になった際に, メディアクエリー内部も変更しなければならない.
  • 手間がかかる
  • inherit値で親のプロパティ値を引き継ぐ

解決策(下記)

~
@media only screen (max-width: 600px) {
  div p {
    color: inherit; /* 親(<div>)のcolorプロパティ値を継承する */
  }
}

リキッドレイアウト

style.css

.container {
  /* width: 800px; */
  max-width: 800px; /* 最大800pxまで, 800px未満は, その幅で可変になる */
}
⚠️ **GitHub.com Fallback** ⚠️