CSSでのレスポンシブなフォントサイズ

ご存知の通り、rem単位は ルート要素のフォントサイズ(デフォルトでは 16px)を基準として計算されます:

csshtml {
  font-size: 16px; /* デフォルト値 */
}

この特性を利用して、画面幅の変化に応じて フォントサイズを一括で変更することができます。 その方法を見ていきましょう。

次のように要素にサイズが設定されているとします:

cssh1 {
  font-size: 1.5rem; /* 24pxに対応 */
}
p {
  font-size: 1rem; /* 16pxに対応 */
  margin: 2rem;    /* 32pxに対応 */
}

画面幅が変化した際に、remで指定された サイズがレスポンシブに変化するようにしましょう。 そのために、メディアクエリを用いてルート要素の フォントサイズを変更します:

css@media (max-width: 600px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 600px) and (max-width: 1200px) {
  html {
    font-size: 18px;
  }
}
@media (min-width: 1200px) {
  html {
    font-size: 20px;
  }
}
Задание 1

以下のコードが与えられています:

css@media (max-width: 300px) {
  h1 {
    font-size: 32px;
  }
  h2 {
    font-size: 24px;
  }
  p {
    font-size: 16px;
  }
}
@media (min-width: 300px) and (max-width: 900px) {
  h1 {
    font-size: 36px;
  }
  h2 {
    font-size: 27px;
  }
  p {
    font-size: 18px;
  }
}
@media (min-width: 900px) {
  h1 {
    font-size: 40px;
  }
  h2 {
    font-size: 30px;
  }
  p {
    font-size: 20px;
  }
}

このレッスンで説明した手法を用いて、 上記のコードを簡略化してください。