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本ノック】0030_floatプロパティを使い、画像の回り込みレイアウトを作成し、その後clearfixを用いてfloatを解除する実装を行え。

Posted at

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

はじめに

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

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

float プロパティ

float は、Flexbox や Grid が登場する前にレイアウトの主流だったプロパティです。元々は、その名の通り要素を「浮かせて」、画像などにテキストを回り込ませるために使われました。

float プロパティの問題点

float を指定すると、その要素は親要素から「浮いた」状態になり、親要素は float させた要素の高さを認識できなくなります。これにより、親要素の背景が途切れたり、レイアウトが崩れる原因となります。

clearfix による解決

この問題を解決する有名なテクニックが「clearfix」です。float を指定した要素の親要素に特別なスタイルを適用することで、高さを正しく認識させることができます。

まとめ

clearfix なし clearfix あり
親の高さ 中身のテキストの高さだけになる 浮いた画像 + テキストの全体の高さになる
ボーダー 画像を無視して縮む 全体を正しく囲む

作成したコード

index.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>フロントエンド1000本ノック 0030</title>
    <style>
      .clearfix::after {
        content: "";
        display: block;
        clear: both;
      }
    </style>
</head>
<body>
    <main>
      <h1>float プロパティの挙動</h1>

      <div style="border: 1px solid #000; width: 400px;" class="clearfix">
        <img src="img/profile.jpg" alt="プロフィール画像" style="float: left; width: 200px; height: 200px;">
        <p>ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。ここに長文が入ります。</p>
      </div>
    </main>
    <footer>
      <p>Copyright 2025</p>
      <p>フロントエンド1000本ノック</p>
    </footer>

</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?