clearfixとclearの例

clearfixとclearの例
この記事では、CSS を理解し始めたばかりの人を対象に、主に HTML で clearfix と clear を使用する方法について説明します。ここでは、clearfix と clear のスタイルについては書きません。

これら 2 つのクラスの使用法について説明します。まず、例を見てみましょう。

コードをコピー
コードは次のとおりです。

<!DOCTYPE HTML>
<html lang="ja-JP">
<ヘッド>
<メタ文字セット="UTF-8"/>
<title>HTML で clearfix と clear を使用する方法</title>
<link rel="スタイルシート" type="text/css" href="/css/base.css" media="all"/>
<スタイル タイプ="text/css">
.fl{float:left;}
.demo{背景:#ccc;}
.item1{背景:#f90;高さ:100px;幅:100px;}
.item2{背景:#fc0;高さ:200px;幅:100px;}
</スタイル>
</head>
<本文>
<div class="demo">
<div class="fl item1"></div>
<div class="fl item2"></div>
</div>
</本文>
</html>

フロートを使用すると多くの未知の問題が発生することは誰もが知っています。上記の例から、class="demo" の高さは内部の div によって引き伸ばされていないことがわかります。これは、内部の div がフロートしてドキュメントから外れているためです。demo 自体には高さがないため、灰色の背景は見えません。もちろん、デモに高さを指定することもできますが、それはこの記事の目的から外れます (外側の div の高さを内部のコンテンツによって決定したい場合があります)。

問題はフローティングによって発生しているため、フローティングをクリアするだけで済みます。専門家は、overflow:hidden など、フローティングをクリアする方法を多数持っていると思います。次に、clearfix と clear を使用してフロートをクリアする方法を紹介します。

コードをコピー
コードは次のとおりです。

<!DOCTYPE HTML>
<html lang="ja-JP">
<ヘッド>
<メタ文字セット="UTF-8"/>
<title>HTML で clearfix と clear を使用する方法</title>
<link rel="スタイルシート" type="text/css" href="/css/base.css" media="all"/>
<スタイル タイプ="text/css">
.fl{float:left;}
.demo{背景:#ccc;}
.item1{背景:#f90;高さ:100px;幅:100px;}
.item2{背景:#fc0;高さ:200px;幅:100px;}
</スタイル>
</head>
<本文>
<h2>フロートをクリアするには clear を使用します</h2>
<div class="demo">
<div class="fl item1"></div>
<div class="fl item2"></div>
<div class="clear"></div>
</div>
<h2>clearfix でフロートをクリアする</h2>
<div class="clearfix デモ">
<div class="fl item1"></div>
<div class="fl item2"></div>
</div>
</本文>
</html>

clearfix は主にフローティング レイヤーの親レイヤーで使用され、clear は主にフローティング レイヤー間およびフローティング レイヤーと同じレベルで使用されていることがわかりました。親レイヤーの高さを拡張する場合は、clear を最後に配置する必要があります。

これら 2 つの方法のどちらが優れているかは、一概には言えません。特定のニーズを満たす必要があるということしか言えません。

このように clearfix スタイルで記述するとなぜフロートがクリアされるのかと疑問に思う人もいるかもしれません。これらのスタイルは何を意味していますか?これには、学生がCSS疑似クラスについてある程度理解していることが求められる。

<<:  HTML でハイパーリンク タグを使用するチュートリアル

>>:  CSS3 を使用してピカチュウのアニメーション壁紙を作成する例

推薦する

Gobangゲームを実現するためのjsキャンバス

この記事では、Gobangゲームを実装するためのキャンバスの具体的なコードを参考までに共有します。具...

JavaScript の基本オブジェクト

目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...

Vue はデータの変更をどのように追跡しますか?

目次背景例誤解 - コールスタックを表示するためにウォッチでブレークポイントを設定する正しいアプロー...

Angularの単一プロジェクトを複数プロジェクトにアップグレードするプロセス全体

目次序文開発環境新しいプロジェクトを作成するモバイルウェブプロジェクト角度付きJSONパブリックモジ...

MySQLオンラインデッドロック分析練習

序文MySQL を学習する際に、MySQL のロック メカニズムについて簡単に理解したことがあると思...

組み込み Linux 開発環境で ping と nfs を構築するためのソリューション

1. 組み込みソフトウェアレベル 1) ブートローダ -> ブートローダ組み込みシステム全体の...

Webデザインチュートリアル(7):Webデザインの効率化

<br />前の記事:Webデザインチュートリアル(6):デザインへの情熱を持ち続けまし...

リソースアップロード機能を実現するための SpringBoot+nginx の詳細な例

最近、画像、ビデオ、CSS/JS などの静的リソースを配置するために nginx を使用する方法を学...

JavaScript関数におけるこのポイントの問題の詳細な説明

このキーワードどのオブジェクトが関数を呼び出しますか? また、関数内の this はどのオブジェクト...

DockerでGDBを使用するときにブレークポイントを入力できない問題を解決する

質問docker で gdb を実行すると、ブレークポイントに到達しますが、ブレークポイントに入るこ...

Linux システムで httpd の自動インストールと構成を Ansible で実装する方法

1. Ansibleのプレイブックを使用してhttpdを自動的にインストールする1) まず、Ansi...

トランザクションとロックを表示するための MySQL の一般的なステートメント

データベース内のトランザクションとロックを表示するための一般的なステートメントトランザクションの待機...

MySQL における tinyint と int の違いの詳細な説明

質問: int(1) と tinyint(1) の違いは何ですか?このような設計では、いずれにしても...

Angular CLI リリース パスの構成項目の簡単な分析

序文プロジェクトのリリースでは、常に特定の状況に応じたパッケージ化が必要です。Angular CLI...

Springboot プロジェクトの Docker-compose イメージリリースプロセス分析

導入Docker-Compose プロジェクトは、Docker コンテナ クラスターの迅速なオーケス...