CSS におけるフローティングとクリーニングの簡単な分析
フロントエンドとして、私は多くのページ レイアウトを作成してきましたが、フローティングは常に理解できない盲点でした。一方で、フローティングは多くのレイアウトを実現するために使用できますが、その一方で。 、フローティングの影響によりレイアウトが破壊され、頭痛の原因となるため、今日はこの盲点に対処するために特別にブログ投稿を書きました。
この記事では主に次の問題について説明します:
1. フローティングの本来の目的
2. フローティングにテキストの折り返し効果がある理由
CSS に float 属性がないと仮定すると、それはどのようになりますか?現在フローティングメソッドを使用して一般的に実装されている列のレイアウトやリストの配置であっても、他の CSS プロパティ (テーブルに関係なく) を使用して実装できることがわかります。実装できないのは「画像の周囲のテキスト」だけです。画像の周りにテキストを折り返す方法が思いつきません。そう、このかけがえのない役割こそがフロートの本当の意味なのです。これを一言でまとめると:
画像の周囲にテキストを回り込む効果を実現します。
なぜフローティングにはテキストの折り返し効果があるのですか? この質問は主に過去の印象から来ています:フローティング要素はドキュメントフローから分離されています。え?ドキュメント フローから外れても、下のフローティングされていない要素と重なっているはずではありません。なぜテキストが回り込んでしまうのでしょうか? 「Mastering CSS」という本を見るまで、この問題に悩まされていました。記事には次のように書かれています:
フローティングにより要素はドキュメント フローから外れ、非フローティング要素には影響を与えなくなります。実際には、完全ではありません。フロート要素の後にドキュメント フロー内の要素が続く場合、この要素のボックスはフロートがまったく存在しないかのように動作します。ただし、しません。これは、ドキュメント フローからの絶対的な配置とは異なります。ボックスのテキストコンテンツはフロート要素の影響を受けてスペースを空けるために移動します。 言い換えると、
フローティング要素は確かにドキュメントフローから分離されているため、ドキュメントフロー内のブロックボックスはフローティング要素を無視しますが、テキストは
Zhihu に関する Zhang Qiuyi シニアの回答も、この見解を裏付けています。
追加点: ドキュメント フローという用語は実際には不正確です。W3C 標準では通常のフローしかありませんが、多くの国内の記事や翻訳本ではドキュメント フローが使用されます。 フローティングの影響をクリーンアップする方法実際、フローティングの主な影響は1. 要素が通常の流れから離れるため、親要素の高さが崩れます2.以下はフローティング要素と重なり、元のレイアウトを破壊します
これらの効果をクリーンアップするには、clear 属性を使用する必要があることを多くの人が知っています。なぜクリアフロートをクリアできるのでしょうか?
1. ブラウザは
クリア要素の上に十分な余白を追加し、要素の上端がフローティング要素の下端の余白よりも垂直に下がるようにします。
2.マージン自体は変更しませんが、クリア要素の上マージンの上にクリアスペースを追加します。
前者はCSS1とCSS2の実装原則であり、後者はCSS2.1の実装原則です。しかし、どちらが達成されても、浮遊要素のために垂直方向のスペースが残され、浮遊効果が解消されるように見えます。同時に、設定されたクリア要素の上に埋められたスペースは、実際には通常のフロー内に存在します。したがって、親要素の高さは引き伸ばされます。
1 フローティング要素の最後に空の要素を追加して、clear:both 属性を設定します。 , after 疑似要素は実際には、要素の背後にあるポイント コンテンツを持つブロック レベルの要素をコンテンツを通じて生成します。
2. 親要素の overflow または display: table 属性を設定してフロートを閉じます。1.display: block、生成された要素が次のように表示されるようにします。ブロックレベル要素 、残りのスペースを占有します。
フロートをクリアするほぼすべての方法は、次の 2 つのカテゴリに要約できます。上記のブログ投稿と併せて、疑似要素を追加する方法について説明します。
2. この文字は非常に小さいため、コンテンツにドットを追加します。
3. この新しいコンテンツがスペースを占有し、レイアウトの高さを壊したくないため、高さを 0 に設定します。4. 可視性を非表示に設定して、生成されたコンテンツを非表示にし、生成されたコンテンツで覆われている可能性のある部分をクリックしてインタラクティブにできるようにします。
5.clear: どちらもフローティングの効果をクリアします
コードは次のとおりです:
.clearfix:after { display: block; content: "."; height: 0; visibility: hidden; clear: both; }
フロントエンドとして、私は多くのページ レイアウトを作成してきましたが、フローティングは常に理解できない盲点でした。一方で、フローティングは多くのレイアウトを実現するために使用できますが、その一方で。 、フローティングの影響によりレイアウトが破壊され、頭痛の原因となるため、今日はこの盲点に対処するために特別にブログ投稿を書きました。
この記事では主に次の問題について説明します:
1. フローティングの本来の目的
2. フローティングにテキストの折り返し効果がある理由
CSS に float 属性がないと仮定すると、それはどのようになりますか?現在フローティングメソッドを使用して一般的に実装されている列のレイアウトやリストの配置であっても、他の CSS プロパティ (テーブルに関係なく) を使用して実装できることがわかります。実装できないのは「画像の周囲のテキスト」だけです。画像の周りにテキストを折り返す方法が思いつきません。そう、このかけがえのない役割こそがフロートの本当の意味なのです。これを一言でまとめると:
画像の周囲にテキストを回り込む効果を実現します。
なぜフローティングにはテキストの折り返し効果があるのですか? この質問は主に過去の印象から来ています:フローティング要素はドキュメントフローから分離されています。え?ドキュメント フローから外れても、下のフローティングされていない要素と重なっているはずではありません。なぜテキストが回り込んでしまうのでしょうか? 「Mastering CSS」という本を見るまで、この問題に悩まされていました。記事には次のように書かれています:
フローティングにより要素はドキュメント フローから外れ、非フローティング要素には影響を与えなくなります。実際には、完全ではありません。フロート要素の後にドキュメント フロー内の要素が続く場合、この要素のボックスはフロートがまったく存在しないかのように動作します。ただし、しません。これは、ドキュメント フローからの絶対的な配置とは異なります。ボックスのテキストコンテンツはフロート要素の影響を受けてスペースを空けるために移動します。 言い換えると、
フローティング要素は確かにドキュメントフローから分離されているため、ドキュメントフロー内のブロックボックスはフローティング要素を無視しますが、テキストは
Zhihu に関する Zhang Qiuyi シニアの回答も、この見解を裏付けています。
追加点: ドキュメント フローという用語は実際には不正確です。W3C 標準では通常のフローしかありませんが、多くの国内の記事や翻訳本ではドキュメント フローが使用されます。 フローティングの影響をクリーンアップする方法実際、フローティングの主な影響は1. 要素が通常の流れから離れるため、親要素の高さが崩れます2.以下はフローティング要素と重なり、元のレイアウトを破壊します
これらの効果をクリーンアップするには、clear 属性を使用する必要があることを多くの人が知っています。なぜクリアフロートをクリアできるのでしょうか?
1. ブラウザは
クリア要素の上に十分な余白を追加し、要素の上端がフローティング要素の下端の余白よりも垂直に下がるようにします。
2.マージン自体は変更しませんが、クリア要素の上マージンの上にクリアスペースを追加します。
前者はCSS1とCSS2の実装原則であり、後者はCSS2.1の実装原則です。しかし、どちらが達成されても、浮遊要素のために垂直方向のスペースが残され、浮遊効果が解消されるように見えます。同時に、設定されたクリア要素の上に埋められたスペースは、実際には通常のフロー内に存在します。したがって、親要素の高さは引き伸ばされます。
1 フローティング要素の最後に空の要素を追加して、clear:both 属性を設定します。 , after 疑似要素は実際には、要素の背後にあるポイント コンテンツを持つブロック レベルの要素をコンテンツを通じて生成します。
2. 親要素の overflow または display: table 属性を設定してフロートを閉じます。1.display: block、生成された要素が次のように表示されるようにします。ブロックレベル要素 、残りのスペースを占有します。
フロートをクリアするほぼすべての方法は、次の 2 つのカテゴリに要約できます。上記のブログ投稿と併せて、疑似要素を追加する方法について説明します。
2. この文字は非常に小さいため、コンテンツにドットを追加します。
3. この新しいコンテンツがスペースを占有し、レイアウトの高さを壊したくないため、高さを 0 に設定します。4. 可視性を非表示に設定して、生成されたコンテンツを非表示にし、生成されたコンテンツで覆われている可能性のある部分をクリックしてインタラクティブにできるようにします。
5.clear: どちらもフローティングの効果をクリアします
コードは次のとおりです:
.clearfix:after { display: block; content: "."; height: 0; visibility: hidden; clear: both; }
以上がCSS におけるフローティングとクリーニングの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

ReactはJSXとHTMLを組み合わせてユーザーエクスペリエンスを向上させます。 1)JSXはHTMLを埋め込み、開発をより直感的にします。 2)仮想DOMメカニズムは、パフォーマンスを最適化し、DOM操作を削減します。 3)保守性を向上させるコンポーネントベースの管理UI。 4)国家管理とイベント処理は、インタラクティブ性を高めます。

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

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

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

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