ホームページ ウェブフロントエンド CSSチュートリアル CSSを使ってfloatをクリアする方法を詳しく解説

CSSを使ってfloatをクリアする方法を詳しく解説

Mar 09, 2017 pm 05:46 PM
css クリアフロート

この記事では、CSS を使用してフロートをクリアする詳細な方法を主に紹介します。フロートを単にクリアするだけで常に解決できるわけではないことに注意してください。記事の最後に記載されているフロートを閉じる解決策も試す価値があります。

クリアフローティングメソッドを参照できます
方法1:クリア属性の空要素を使用する

>などのフローティング要素の後に空要素を使用します;, そして、CSS で .clear{clear:both;} 属性を割り当てて、フロートをクリアします。クリーニングには
または
を使用することもできます。
.news {   
  background-color: gray;   
  border: solid 1px black;   
  }   

.news img {   
  float: left;   
  }   

.news p {   
  float: rightright;   
  }   

.clear {   
  clear: both;   
  }
rrree

利点: シンプル、コードが少ない、ブラウザとの互換性が良い。
短所: 大量の非セマンティックな HTML 要素を追加する必要があり、コードは十分にエレガントではなく、後で保守するのは簡単ではありません。

方法2: CSSのオーバーフロー属性を使用する

フローティング要素のコンテナにoverflow:hidden;またはoverflow:auto;を追加するなど、IE6でhasLayoutをトリガーする必要があります。親要素のコンテナの幅と高さを設定するか、zoom:1 を設定します。オーバーフロー属性を追加した後、フローティング要素はコンテナー層に戻り、コンテナーの高さが上がり、フローティング要素をクリーンアップする効果が得られます。

<p class="news">
<img  src="/static/imghw/default1.png"  data-src="news-pic.jpg"  class="lazy"   / alt="CSSを使ってfloatをクリアする方法を詳しく解説" >
<p>some text</p>
<p class="clear"></p>
</p>
.news {   
  background-color: gray;   
  border: solid 1px black;   
  overflow: hidden;   
  *zoom: 1;   
  }   

.news img {   
  float: left;   
  }   

.news p {   
  float: rightright;   
  }

方法3:フローティング要素のコンテナにフロートを追加する

フローティング要素のコンテナにフロート属性を追加して内部のフロートをクリアしますが、これにより全体的にフローティングになり、レイアウトに影響を与えます。推奨されません。

方法4:隣接要素処理を使用する

何もせず、フローティング要素の後ろの要素にclear属性を追加します。

<p class="news">
<img  src="/static/imghw/default1.png"  data-src="news-pic.jpg"  class="lazy"   / alt="CSSを使ってfloatをクリアする方法を詳しく解説" >
<p>some text</p>
</p>
.news {   
  background-color: gray;   
  border: solid 1px black;   
  }   

.news img {   
  float: left;   
  }   

.news p {   
  float: rightright;   
  }   

.content{   
  clear:both;   
  }

ここの p.content にはコンテンツがあることに注意してください。

方法 5: CSS :after 疑似要素を使用する

:after 疑似要素 (これは疑似クラスではなく、要素の後に最も近い要素を表す疑似要素であることに注意してください) と IEhack を組み合わせます、現在の主流と完全に互換性があります。主要なブラウザの場合、ここでの IEhack は hasLayout をトリガーすることを指します。
フローティング要素のコンテナーに clearfix クラスを追加し、このクラスに :after 疑似要素を追加して、要素の最後に非表示のブロック要素 (Block 要素) を追加してフロートをクリーンアップします。

<p class="news">
<img  src="/static/imghw/default1.png"  data-src="news-pic.jpg"  class="lazy"   / alt="CSSを使ってfloatをクリアする方法を詳しく解説" >
<p>some text</p>
<p class="content">***</p>
</p>
.news {   
  background-color: gray;   
  border: solid 1px black;   
  }   

.news img {   
  float: left;   
  }   

.news p {   
  float: rightright;   
  }   

.clearfix:after{   
  content: "020";    
  display: block;    
  height: 0;    
  clear: both;    
  visibility: hidden;     
  }   

.clearfix {   
  /* 触发 hasLayout */
  zoom: 1;    
  }

CSS疑似要素でコンテナの内部要素の末尾に非表示のスペース「020」またはドット「.」を追加し、floatをクリアするclear属性を付与します。 IE6 および IE7 ブラウザの場合、haslayout をトリガーするには、zoom:1 を clearfix クラスに追加する必要があることに注意してください。

概要
上記の例を通して、float をクリアする方法が 2 つのカテゴリに分類できることが簡単にわかります:

1 つは、clear 属性を使用する方法です。これには、clear: Both 属性を使用して空の p を追加することも含まれます。実際、:after 疑似要素を使用する方法は、要素の最後に内容がドットで、clear:both 属性を持つ要素を追加することによっても実現されます。

2つ目は、フローティング要素の親要素のBFC(Block Formatting Contexts、ブロックレベルのフォーマットコンテキスト)をトリガーして、親要素にフローティング要素を含めることができるようにすることです。

Web ページのメイン レイアウトで :after 疑似要素メソッドを使用し、フロートをクリーンアップする主な方法として使用します。ul などの小さなモジュールで overflow:hidden; を使用します (隠れたオーバーフロー要素の問題に注意してください) ); フローティング要素の場合は、特別な処理を行わずに内部フロートを自動的にクリアできます。ボディ内の隣接する要素を使用して前のフロートをクリアします。

最後に、比較的完璧な :after 疑似要素メソッドを使用してフロートをクリーンアップし、ドキュメントの構造をより明確にすることができます。

追記:フロートをクリアするか、フロートを閉じるか?
Web ページのレイアウトでフロートを使用すると、望む効果をより簡単に実現できますが、フロートにはいくつかの隠れた危険が残されていることがよくあります。このとき、通常はフロートをクリアするために 1 つのことを行いますが、フロートをクリアすると隠れた危険が残ることがよくあります。次のコード:

<p class="news clearfix">
<img  src="/static/imghw/default1.png"  data-src="news-pic.jpg"  class="lazy"   / alt="CSSを使ってfloatをクリアする方法を詳しく解説" >
<p>some text</p>
</p>

効果の図は次のとおりです:
CSSを使ってfloatをクリアする方法を詳しく解説

フロートをクリアするために足を動かしますが、メインの高さがサブ要素の高さに適応できないため、崩壊が発生します(矢印の方向)。

以下はクローズドフロートを紹介します。名前が示すように、フローティング要素を閉じてフローティングの影響をクリアします。現在、フロートをクリアするために最も一般的に使用されている方法は、clearfix です。具体的には、足元にclear:bothを追加する代わりに、CSSの次の行を挿入します:

<!DOCTYPE html>   
<html>   
<head>   
    <meta charset="UTF-8">   
    <title>Document</title>   
    <style type=&#39;text/css&#39;>   
        #main{   
            border: 1px solid #000;   
        }   
        #left{   
            float: left;   
            width: 100px;   
            height: 100px;   
            background-color: #f00;   
        }   
        #right{   
            float: left;   
            width: 100px;   
            height: 100px;   
            background-color: #0f0;   
        }   
    </style>   
</head>   
<body>   
    <p id="main">   
        <p id="left"></p>   
        <p id="right"></p>   
    </p>   
</body>   
</html>

以上がCSSを使ってfloatをクリアする方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

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)

ホットトピック

CSSのリストスタイルを変更する方法 CSSのリストスタイルを変更する方法 Aug 17, 2025 am 10:04 AM

CSSリストスタイルを変更するには、最初にリストスタイルタイプを使用して弾丸または番号付けスタイルを変更します。 1.リストスタイルタイプを使用して、ULの弾丸をディスク、円、または正方形に設定し、OLの数は小数、下部アルファ、上部アルファ、下部ローマンまたはアッパーローマです。 2。リストスタイルでタグを完全に削除します:なし。 3.リストスタイルイメージ:url( 'bullet.png')を使用して、カスタム画像に置き換えます。 4。リストスタイルのポジションを使用します:in

CSSで点線の境界線を作成する方法 CSSで点線の境界線を作成する方法 Aug 15, 2025 am 04:56 AM

CSSを使用して点線の境界線を作成し、境界属性を点線に設定するだけです。たとえば、「Border:3PXDotted#000」は、3ピクセル幅のブラックドットボーダーを要素に追加できます。境界線を調整することにより、ポイントのサイズを変更できます。より広い境界線はより大きなポイントを生み出します。 「Border-Top:2pxdottred」など、特定の側に点線の境界線を設定できます。点線の境界線は、Divや入力などのブロックレベルの要素に適しています。それらは、アクセシビリティを改善するために、フォーカス状態または編集可能な領域でよく使用されます。色のコントラストに注意してください。同時に、Dashedのショートラインスタイルとは異なり、点線は円形のドット形状を示します。この機能は、すべての主流ブラウザで広く使用されています。

背景にCSSグラデーションを使用する方法 背景にCSSグラデーションを使用する方法 Aug 17, 2025 am 08:39 AM

cssgradientsprovidesmoothcolortransitionswithoutimages.1.Linear GradientsColorSalOrsalOrsArtaightlineSingDirectionSlikotobottOMORANGLESLIKE45DEG、ANDSUPPORTMULTIPRECOLORSTOPSFORCHLEXEFFECTS.2

CSSを使用した応答性のある証言スライダーを作成する方法 CSSを使用した応答性のある証言スライダーを作成する方法 Aug 12, 2025 am 09:42 AM

純粋なCSSを備えた応答性のある自動カルーセルスライダーを作成し、HTML構造、フレックスボックスレイアウト、およびCSSアニメーションを組み合わせただけです。 2.最初に、複数の推奨項を含むセマンティックHTMLコンテナを構築します。各.ITEMには、参照コンテンツと著者情報が含まれています。 3.親コンテナを使用して表示:Flex、幅:300%(3つのスライド)を設定し、オーバーフローを適用します:隠して水平方向の配置を達成します。 4. @KeyFramesを使用して、0%から-100%へのtransThex変換を定義し、アニメーションを組み合わせてScroll15SlinearInfiniteを組み合わせて、シームレスな自動スクロールを実現します。 5.メディアを追加します

CSSを使用してガラスムルファズム効果を作成する方法 CSSを使用してガラスムルファズム効果を作成する方法 Aug 22, 2025 am 07:54 AM

CSSのガラス模倣効果を作成するには、背景のぼかしを実現するために背景フィルターを使用し、RGBA(255,255,255,0.1)などの半透明の背景を設定し、サブルの境界と影を追加して階層の感覚を高め、要素の背後に十分な視覚的コンテンツがあることを確認する必要があります。 1。背景:Blur(10px)を使用して、バックグラウンドコンテンツを曖昧にします。 2. RGBAまたはHSLAを使用して透明な背景を定義して、透明性の程度を制御します。 3. 3次元を強化するために、1pxsolidrgba(255,255,255,0.3)の境界線とボックスシェードを追加します。 4.容器に写真やテクスチャなどの豊富な背景があることを確認して、ぼやけた浸透効果を提示します。 5.古いブラウザと互換性があります

CSSのカーソルを変更する方法 CSSのカーソルを変更する方法 Aug 16, 2025 am 05:00 AM

usebuilt-incursortypeslikepointer、help、help、ornot-allowedprovideimmediatefeedfordifferentinteractiveelements.2.applycustomcursorimages withthecursorpropertyusisusaurl、オプションでは、オプションの指定を行うと、afalwalwalwalwalwalwalwalwallikeorpoorpoorpoorpoorpoorpooutoutoutoorpooutoutoorpooutoorpotoorpotourpotrikedalways

CSSでグリッドテンプレートエリアを使用する方法 CSSでグリッドテンプレートエリアを使用する方法 Aug 22, 2025 am 07:56 AM

grid-template-areaspropertyallowsdeveloperSocreateive、readablelayoutsbydefiningnamedgridareas;それぞれwith-areanamesonchildelementsは、headerheaderer "for

CSSでダークモードテーマを実装する方法 CSSでダークモードテーマを実装する方法 Aug 22, 2025 am 09:55 AM

ダークモードを実装する主な方法は2つあります。1つは、システムの好みを適応させるために自動的に照会するためにカラーシェームメディアを好むことを使用することです。もう1つはJavaScriptを介して手動スイッチング機能を追加することです。 1.ユーザーシステムに応じて暗いテーマを自動的に適用するには、カラーシェームを好みます。 JavaScriptは必要ありません。メディアクエリのスタイルを定義するだけです。 2。手動の切り替えを実現するには、ライトテーマとダークテーマのクラスを定義し、トグルボタンを追加し、JavaScriptを使用してテーマステータスとローカルストレージを管理してユーザーの好みを保存する必要があります。 3.両方を組み合わせて、ページが読み込まれたときに最初にLocalstを読むことができます。

See all articles