ホームページ ウェブフロントエンド 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ツール

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

VueでBootstrapの使用方法 VueでBootstrapの使用方法 Apr 07, 2025 pm 11:33 PM

vue.jsでBootstrapを使用すると、5つのステップに分かれています。ブートストラップをインストールします。 main.jsにブートストラップをインポートしますブートストラップコンポーネントをテンプレートで直接使用します。オプション:カスタムスタイル。オプション:プラグインを使用します。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

See all articles