0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【フロントエンド1000本ノック】0069_emとremの違いを、ルート要素と親要素のフォントサイズを変更しながら検証し、その使い分けの指針を説明せよ。

Posted at

この記事は人間が書きました

はじめに

こんにちは、赤神です!
この記事は、「1000本ノック」という取り組みの中のフロントエンドのための課題の1つです。

「1000本ノックとは」
https://qiita.com/sora_akagami/items/c8da4296dea3823376ca

emremの違い

レスポンシブデザインでは、px(ピクセル)のような固定単位だけでなく、emrem のような相対単位を使うことが非常に重要です。これにより、ユーザーの環境設定や画面サイズに応じて、フォントサイズや余白が柔軟に変化するようになります。

emremはどちらも「フォントサイズ」を基準にしていますが、どのフォントサイズを基準にするかが違います。

  • em:親要素のフォントサイズを基準にする
  • rem:ルート要素(<html>)のフォントサイズを基準にする(r は"Root"の略)

em の問題点:複雑な入れ子構造

em は親要素を基準にします。もし、font-size: 1.2em が指定された <div> の中に、さらに font-size: 1.2em が指定された <p> を配置するとどうなるでしょうか?

<p> のフォントサイズは、親の1.2倍の、さらに1.2倍、つまり1.44倍になってしまいます。このように、入れ子(ネスト)が深くなるほど計算が複雑になり、どの要素がどのサイズになるか予測が困難になります。

rm の利点:シンプルな基準

rem は常にルート要素(<html>)を基準にします。

<html> のフォントサイズが 16px だとすると、

  • font-size: 1.2rem が指定された <div>16px * 1.2 = 19.2px
  • その <div> の中にある font-size: 1.2rem が指定された <p>16px * 1.2 = 19.2px

どんなに深い入れ子の中にあっても、常に <html> だけを基準に計算されるため、非常に予測可能で管理しやすいのが最大の特徴です。

作成したコード

index.html
<!DOCTYPE html>
<html lang="ja" style="font-size: 10px;">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>フロントエンド1000本ノック 0069</title>
</head>
<body>
  <div style="font-size: 1.6rem;">
    <p style="font-size: 1.6rem;">テキスト</p>
  </div>
  <div style="font-size: 1.6em;">
    <p style="font-size: 1.6em;">テキスト</p>
  </div>
</body>
</html>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?