ホームページ ウェブフロントエンド フロントエンドQ&A html5でfloatをクリアする属性とは何ですか?

html5でfloatをクリアする属性とは何ですか?

Dec 22, 2021 pm 03:44 PM
クリア属性 html5 クリアフロート

HTML5 では、フロートをクリアする属性は「clear」です。 clear 属性は、要素のどちら側が他の浮動要素を許可しないかを指定します。「clear:both;」スタイルが浮動要素に設定されている場合、要素の左側または右側のどちらも許可されないように、浮動要素をクリアできます。浮くことが許される。

html5でfloatをクリアする属性とは何ですか?

このチュートリアルの動作環境: Windows 7 システム、CSS3&&HTML5 バージョン、Dell G3 コンピューター。

HTML5 では、フロートをクリアする属性は「clear」です。

#clear 属性は、要素のどの側で他のフローティング要素を許可しないかを指定します

clear 属性を詳しく見てみましょう。

まず、div はブロックレベルの要素であることを知っておく必要があり、ページ上の排他的な行を占有し、上から下に配置される伝説的なフローです。以下に示すように:

div1 の幅が非常に小さい場合でも、ページ内の 1 行で div1 と div2 を収容でき、div2 は収容できないことがわかります。 div 要素は独自の行にあるため、div1 の後ろにランクされます。

上記の理論は標準フローの div を参照していることに注意してください。

Xiaocai は、レイアウトがどんなに複雑であっても、基本的な出発点は「複数の div 要素を 1 行に表示する方法」であると考えています。

標準ストリームでは需要を満たすことができないのは明らかなので、float を使用する必要があります。

フローティングとは、DIV 要素が標準フローから離れることを防ぎ、標準フロー上に浮いていることを意味します。標準フローはレベルではありません。

たとえば、上の図の div2 が浮いていると仮定すると、標準フローから外れますが、div1、div3、div4 はまだ標準フロー内にあるため、div3 は自動的に上方に移動し、 div2の位置を変更してフローを再形成します。図に示すように:

図からわかるように、div2 は float に設定されているため、標準フローには属しなくなり、div3 は自動的に上に移動します。 div2の位置を置き換え、div1、div3、div4を順に並べて新たなフローとします。また、float は標準フローの上に浮いているため、div2 が div3 の一部をブロックし、div3 が「短く」見えるようになります。

ここで div2 は左フローティング (float:left;) を使用していますが、これはフローティングで左に配置されていると理解できますが、右フローティング (float:right;) は当然右に配置されます。ここでの左右とは、ページの左端と右端を指します。

div2 を右にフローティングすると、次のようになります。

このとき、div2 はページの右端に配置されます。上記の div1、div3、div4 で構成されるフローがはっきりとわかります。

これまでのところ、div 要素を 1 つだけフロートさせていますが、さらに多くの要素をフローティングするにはどうすればよいでしょうか?

次に、div2 と div3 の両方に left float を追加します。効果は次のとおりです:

同様に、div2 と div3 は浮動であるため、それらはありません。もはや標準フローに属しているため、div4 は自動的に上に移動して div1 と「新しい」標準フローを形成します。フローティングは標準フロー上でフローティングであるため、div2 は div4 をブロックします。

ああ、ここが本題です。div2 と div3 が同時に float に設定されている場合、div3 は div2 に続きます。読者が気づいたかどうかはわかりませんが、これまですべての例で div2 が float になっていました。 . ですが、div1 に従いません。したがって、次の重要な結論を導き出すことができます。

特定の div 要素 A がフローティングであり、A 要素の前の要素もフローティングである場合、A 要素は前の要素に続きます。 (これら 2 つの要素を 1 つの行に配置できない場合、A 要素は次の行に押し込まれます); A 要素の前の要素が標準フロー内の要素である場合、A の相対的な垂直位置は変わりません。つまり、A の上部は常に前の要素の下部と位置合わせされます。

div の順序は、HTML コード内の div の順序によって決まります。

ページの端に近い端が表面、ページの端から遠い端が裏面です。

読者の理解を助けるために、さらにいくつかの例を示します。

div2、div3、および div4 を左フロートに設定すると、効果は次のようになります:

上記の結論に基づいて、Xiao Cai に従って理解してください: div4 の分析から始めて、上位要素 div3 が浮動していることが判明したため、div4 は div3 に従うことになります; div3 は上位要素 div2 も浮動であることがわかり、したがって、div3 は div2 をフォローし、div2 は上部要素 div1 が標準フロー内の要素であることを検出するため、div2 の相対的な垂直位置は変更されず、上部は div1 要素の下部と整列したままになります。フローティングのままなので、左側がページの端に近いので左側が前になるので、div2は一番左になります。

div2、div3、および div4 がすべて右フロートに設定されている場合、効果は次のようになります。

原理は基本的に左フローティングと同じです。 , ただし、対応の前後に注意する必要があります。右に浮かせているので、右側がページの端に近いので、右側が前になるので、div2 は一番右になります。

div2 と div4 を左にフローティングすると、レンダリングは次のようになります。

div2 と div4 がフローティングであるという結論に基づいています。標準フローから逸脱しているため、div3 は自動的に上に移動し、div1 と標準フローを形成します。 div2 は、前の要素 div1 が標準フロー内の要素であることを検出するため、div2 の相対的な垂直位置は変更されず、div1 の下部に揃えられます。 div4 は、前の要素 div3 が標準フロー内の要素であることを検出します。そのため、div4 の上部は div3 の下部と位置合わせされます。これは常に当てはまります。これは、図からわかるように、div3 が上に移動した後、div4 も同様であるためです。は上に移動し、div4 は常に上に移動します。これは、それ自体の上部が前の要素 div3 (標準フローの要素) の下部と揃うようにするためです。

ここまでで、フロートの追加をマスターした読者の皆さんおめでとうございますが、フロートのクリアも必要です。フロートのクリアは、上記の基礎に基づいて非常に簡単に理解できます。

上記の検討により、フローティングされる前、つまり標準的なフローでは、要素は垂直に配置され、フローティングされた後は水平に配置されることがわかります。

フロートをクリアすることは、水平配置を破壊することと理解できます。

フロートをクリアするためのキーワードは明確です。正式な定義は次のとおりです:

構文:

clear : none | left | right | both
ログイン後にコピー

値:

none: デフォルト価値。フローティング オブジェクトは両側で許可されます

left : フローティング オブジェクトは左側で許可されません

right : フローティング オブジェクトは右側で許可されません

Both : フローティングオブジェクトは許可されません

この定義は非常に理解しやすいですが、実際に使用すると、これが当てはまらないことに気づくかもしれません。

定義に間違いはありませんが、あまりにも曖昧すぎて途方に暮れてしまいます。

上記の基準に基づいて、ページ上に div1 と div2 の 2 つの要素しかない場合、両方とも左フローティングになります。シナリオは次のとおりです:

この時点では div1、div2 は両方ともフローティングです。ルールによれば、div2 は div1 に続きますが、div1 がフローティングではなく、div2 が左にフローティングされているのと同じように、div2 が div1 の下に配置されるようにします。

このとき、clear float (clear) を使用していますが、純粋に公式の定義に基づいている場合、読者は次のように書こうとするかもしれません: div1 の CSS スタイルに、clear:right; を追加します。 div1 の右側は許可されていないこと、浮動要素があること、div2 は浮動要素であるため、ルールを満たすために自動的に 1 行下に移動します。

実際、この理解は間違っており、効果はありません。 Xiaocai の結論を見てみましょう:

CSS のクリアフロート (クリア) に関しては、このルールはクリアされる要素自体にのみ影響し、他の要素には影響しないことを覚えておいてください。

どのように理解すればよいでしょうか?上の例では、 div2 を移動させたいのですが、 div1 要素の CSS スタイルで Clear float を使用し、 div1 の右側のフローティング要素をクリアすることで div2 を強制的に下に移動させようとしています (clear:right;) 。このクリア float は div1 で呼び出されるため、これは div1 にのみ影響し、div2 には影響しません。

Xiaocai の結論によると、div2 を下に移動したい場合は、div2 の CSS スタイルで float を使用する必要があります。この例では、div2 の左側に浮動要素 div1 があるため、div2 の CSS スタイルで clear:left; を使用して浮動要素を div2 の左側に表示できないように指定している限り、要素、div2 は強制的に 1 行下に移動します。

それでは、ページ上に div1 と div2 の 2 つの要素しかなく、両方とも右フローティングである場合はどうなるでしょうか?この時点で、読者は次のようにシーンを自分で推測できるはずです。

div2 を div1 に移動したい場合は、どうすればよいでしょうか。

同様に Xiaocai の結論に基づくと、div2 を移動したい場合は、div2 の CSS スタイルで float を呼び出す必要があります。float は、それを呼び出す要素にのみ影響を与えることができるためです。

div2 の右側に浮動要素 div1 があることがわかり、div2 の CSS スタイルで clear:right; を使用して、浮動要素が div2 に表示されないように指定できます。 div2 の右側に配置され、div2 が強制的に下に移動します。div1 の下に 1 行配置されます。

関連する推奨事項: 「html ビデオ チュートリアル

以上がhtml5でfloatをクリアする属性とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles