ホームページ ウェブフロントエンド CSSチュートリアル CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)

CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)

Dec 20, 2021 pm 05:50 PM
css

この記事では、CSS の float 属性に関する関連知識の詳細な分析を提供します。float 属性は、要素がどの方向にフロートするかを定義します。さまざまな属性値で何が起こるかを見てみましょう. 結果は異なりますが、皆さんのお役に立てれば幸いです。

CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)

#CSS フローティング float プロパティの詳細な説明

私は昔から CSS に触れてきましたが、フローティングについてはいつも非常に混乱しています。私の理解力が足りなかったり、簡単なチュートリアルが見つからなかったりする可能性があります。

私は数日前にようやくフローティングの基本原理を理解しました。それを皆さんと共有するのが待ちきれません。

前に書いた言葉:

   由于CSS内容比较多,没有精力从头到尾讲一遍,只能有针对性的讲解。
   如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你。
   小菜水平有限,本文仅仅是入门教程,不当之处请谅解!
   本文以p元素布局为例。
ログイン後にコピー

チュートリアルの開始:

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


CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト) p1 の幅が非常に小さい場合でも、ページ上の 1 行で p1 と p2 を収容でき、p2 が p1 の後にランク付けされることはないことがわかります。 p 要素は独自の行を占有します。

上記の理論は標準ストリームの p を参照していることに注意してください。

Xiaocai は、レイアウトがどれほど複雑であっても、基本的な出発点は
「複数の p 要素を 1 行に表示する方法」であると考えています。 明らかに、標準ストリームでは需要を満たすことができないため、float を使用する必要があります。

フローティングとは、ある p 要素が標準フローから離れて標準フロー上に浮くことと理解できますが、標準フローと同じレベルにあるわけではありません。

たとえば、上図の p2 が浮いたとすると、標準ストリームから外れますが、p1、p3、p4 はまだ標準ストリーム内にあるため、p3 は自動的に上に移動します。そして p2 の位置を占め、ストリームを再組み立てします。図に示すように:


CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト) 図からわかるように、p2 が float に設定されているため、標準フローに属さなくなり、p3 が自動的に上に移動して p2 と置き換わり、p1、 p3、p4が順に並び、新たなストリームとなる。また、フロートが標準の流れよりも上に浮いているため、p2 が p3 の一部をブロックし、p3 が「短く」見えるようになります。

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

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


CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト) このとき、p2 はページの右端に配置され、p3 をブロックしなくなります。読者は上記のことを明確に理解できると思いますが、p1、p3、および p4 で構成されるストリームについて説明しましょう。

これまでのところ、p 要素を 1 つだけ浮動させていますが、さらに浮動小数点要素を追加するにはどうすればよいでしょうか?

次に、p2 と p3 の両方に left float を追加します。結果は次のようになります。


CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト) 同様に、p2 と p3 は float であるため、標準ストリームに属さなくなります。 p4 は自動的に上に移動して p1 と「新しい」標準フローを形成し、標準フローの上に浮くので、p2 は再び p4 をブロックします。

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

特定の p 要素 A が浮動小数点であり、A 要素の前の要素も浮動小数点数である場合、A 要素はその # の後に続きます。前の要素 ## の後に (これら 2 つの要素を 1 行に配置できない場合、A 要素は次の行に押し込まれます); A 要素の前の要素が標準ストリーム内の要素の場合の場合、A の相対的な垂直位置は変わりません。つまり、A の上部は常に前の要素の下部と位置合わせされます。 p の順序は、HTML コード内の p の順序によって決まります。

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



読者の理解を助けるために、さらにいくつかの例を示します。 CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
p2、p3、p4 を

left

floating に設定すると、結果は次のようになります。
上記の結論に基づいて、次の説明に従います。 Xiaocai: まず、p4 が解析を開始すると、上の要素 p3 が浮動していることがわかり、p4 は p3 に従うことになります。p3 は、上の要素 p2 も浮動であることがわかり、p3 は p2 に従うことになります。そして、p2 は、上部要素 p1 は標準ストリーム要素であるため、p2 の相対的な垂直位置は変更されず、上部は p1 要素の下部と整列したままになります。 CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
フローティングにしたままなので、左側がページの端に近いので、左側が前になるので、p2は一番左になります。

假如把p2、p3、p4都设置成浮动,效果如下:
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
道理和左浮动基本一样,只不过需要注意一下前后对应关系。由于是右浮动,因此右边靠近页面边缘,所以右边是前,因此p2在最右边。

假如我们把p2、p4左浮动,效果图如下:
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
依然是根据结论,p2、p4浮动,脱离了标准流,因此p3将会自动上移,与p1组成标准流。p2发现上一个元素p1是标准流中的元素,因此p2相对垂直位置不变,与p1底部对齐。p4发现上一个元素p3是标准流中的元素,因此p4的顶部和p3的底部对齐,并且总是成立的,因为从图中可以看出,p3上移后,p4也跟着上移,p4总是保证自己的顶部和上一个元素p3(标准流中的元素)的底部对齐。

至此,恭喜读者已经掌握了添加浮动,但还有清除浮动,有上边的基础清除浮动非常容易理解。

经过上边的学习,可以看出:元素浮动之前,也就是在标准流中,是竖向排列的,而浮动之后可以理解为横向排列。

清除浮动可以理解为打破横向排列。

   清除浮动的关键字是clear,官方定义如下:



   语法:

   clear : none | left | right | both

   取值:

   none  :  默认值。允许两边都可以有浮动对象

   left   :  不允许左边有浮动对象

   right  :  不允许右边有浮动对象

   both  :  不允许有浮动对象
ログイン後にコピー

定义非常容易理解,但是读者实际使用时可能会发现不是这么回事。
定义没有错,只不过它描述的太模糊,让我们不知所措。

根据上边的基础,假如页面中只有两个元素p1、p2,它们都是左浮动,场景如下:
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
此时p1、p2都浮动,根据规则,p2会跟随在p1后边,但我们仍然希望p2能排列在p1下边,就像p1没有浮动,p2左浮动那样。

这时候就要用到清除浮动(clear),如果单纯根据官方定义,读者可能会尝试这样写:在p1的CSS样式中添加clear:right;,理解为不允许p1的右边有浮动元素,由于p2是浮动元素,因此会自动下移一行来满足规则。

其实这种理解是不正确的,这样做没有任何效果。看小菜定论:
对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。

怎么理解呢?就拿上边的例子来说,我们是想让p2移动,但我们却是在p1元素的CSS样式中使用了清除浮动,试图通过清除p1右边的浮动元素(clear:right;)来强迫p2下移,这是不可行的,因为这个清除浮动是在p1中调用的,它只能影响p1,不能影响p2。

根据小菜定论,要想让p2下移,就必须在p2的CSS样式中使用浮动。本例中p2的左边有浮动元素p1,因此只要在p2的CSS样式中使用clear:left;来指定p2元素左边不允许出现浮动元素,这样p2就被迫下移一行。
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
那么假如页面中只有两个元素p1、p2,它们都是右浮动呢?读者此时应该已经能自己推测场景,如下:
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
此时如果要让p2下移到p1下边,要如何做呢?

同样根据小菜定论,我们希望移动的是p2,就必须在p2的CSS样式中调用浮动,因为浮动只能影响调用它的元素。

可以看出p2的右边有一个浮动元素p1,那么我们可以在p2的CSS样式中使用clear:right;来指定p2的右边不允许出现浮动元素,这样p2就被迫下移一行,排到p1下边。
CSSのfloat属性を一番わかりやすく詳しく解説(詳細な画像とテキスト)
至此,读者已经掌握了CSS+p浮动定位基本原理,足以应付常见的布局。

其实,万变不离其宗,只要读者用心体会,再复杂的布局都可以通过总结的规律搞定。

(学习视频分享:css视频教程

以上が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)

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

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

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

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

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

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

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

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

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

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

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

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

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

ブートストラップの日付を確認するには、次の手順に従ってください。必要なスクリプトとスタイルを紹介します。日付セレクターコンポーネントを初期化します。 Data-BV-Date属性を設定して、検証を有効にします。検証ルール(日付形式、エラーメッセージなどなど)を構成します。ブートストラップ検証フレームワークを統合し、フォームが送信されたときに日付入力を自動的に検証します。

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

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

See all articles