検索
ホームページウェブフロントエンドhtmlチュートリアル2016.3.14CSSフローティング5日目_html/css_WEB-ITnose

今日のレッスンの概要

フローティング ボックスは、その外縁が収容ボックスまたは別のフローティング ボックスの境界線に触れるまで、左右に移動できます。

フローティング ボックスはドキュメントの通常のフローにないため、ドキュメントの通常のフロー内のブロック ボックスは、フローティング ボックスが存在しないかのように動作します。

CSS Floating Principle の紹介

下の図を見てください。ボックス 1 が右にフローティングされている場合、ボックス 1 はドキュメント フローから外れ、その右端が含まれているボックスの右端に接触するまで右に移動します。

CSS フローティングの例 - 要素が右にフローティングされています

下の図をもう一度見てください。ボックス 1 が左にフローティングすると、ドキュメント フローから切り離され、左端が左に触れるまで左に移動します。入っている箱の端。

これはドキュメント フローに含まれないため、スペースをとらず、実際にボックス 2 を覆い、ボックス 2 が表示されなくなります。

3 つのボックスすべてが左に移動された場合、ボックス 1 は、それが含まれているボックスに当たるまで左に浮き、他の 2 つのボックスは、前の浮いているボックスに当たるまで左に浮きます。

CSS フローティングの例 - 左側にフローティングする要素

下の図に示すように、含まれているボックスが狭すぎて水平に配置された 3 つのフローティング要素を収容できない場合は、十分な数が確保されるまで他のフローティング ブロックが下に移動します。空間 。

フロート要素の高さが異なる場合、下に移動するときに他のフロート要素によって「スタック」される可能性があります:

CSS float プロパティ

CSS では、float プロパティを通じて要素をフロートさせます。

float 属性は、要素が浮動する方向を定義します。

以前は、テキストが画像を囲むようにこのプロパティが常に画像に適用されていましたが、CSS では任意の要素をフロート表示できます。

フローティング要素は、要素の種類に関係なく、ブロックレベルのボックスを生成します。

非置換要素を浮動させる場合は、明示的な幅を指定します。それ以外の場合は、可能な限り狭くなります。

注: 行上に浮動要素用のスペースがほとんどない場合、要素は次の行にジャンプし、特定の行に十分なスペースができるまでこのプロセスが続きます。

値 説明
left 要素は左に移動します。
right 要素は右にフローティングします。
なし デフォルト値。要素はフロート表示されず、テキスト内のどこにでも表示されます。
inherit float 属性の値を親要素から継承することを指定します。


ライン ボックスとクリーンアップ

フローティング ボックスのためのスペースを確保するために、フローティング ボックスの隣のライン ボックスが短くなり、ライン ボックスがフローティング ボックスを囲みます。

そのため、フローティング ボックスを作成すると、テキストを画像の周りに折り返すことができます:



ライン ボックスがフローティング ボックスの周りに折り返される

ライン ボックスがフローティング ボックスの周りに折り返されないようにするには、clear 属性を適用する必要があります。箱に。

clear 属性の値は、左、右、両方、またはなしのいずれかで、ボックスのどの辺がフローティング ボックスの隣にあってはいけないかを示します。

この効果を実現するには、要素の上端がフローティング ボックスの下に垂直に落ちるように、クリアされた要素の上マージンに十分なスペースを追加します。

clear 属性

Clear 属性は、要素のどちら側を指定します。他の浮動要素はサイドに許可されません。

clear 属性は、要素のどの側にフローティング要素を含めることが許可されないかを定義します。

CSS1 と CSS2 では、これはクリア要素 (つまり、クリア属性が設定された要素) に上部マージンを自動的に追加することによって実現されます。

CSS2.1では要素の上マージンの上にクリアスペースが追加されますが、マージン自体は変わりません。

どちらの変更が行われても、最終結果は同じです。 left または right Clear として宣言されている場合、

は、その側のフローティング要素の下マージンのすぐ下に要素の上境界線を作成します。

値の説明 left 左側では浮動要素は許可されません。 right 右側ではフローティング要素は許可されません。 両方 フローティング要素は左側と右側では許可されません。 なしデフォルト値。フロート要素を両側に表示できるようにします。 inherit Clear 属性の値を親要素から継承することを指定します。



clear プロパティの例 - ライン ボックスにクリアを適用する

これは、フロート要素のためのスペースを周囲の要素に残すことができる便利なツールです。

フロートとクリーンアップをさらに詳しく見てみましょう。

画像をテキスト ブロックの左側にフローティングさせ、その画像とテキストを背景色と境界線を持つ別の要素に含めたいとします。

次のコードを書くかもしれません:

.news {  background-color: gray;  border: solid 1px black;  }.news img {  float: left;  }.news p {  float: right;  }<div class="news">    <img  src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" alt="2016.3.14CSSフローティング5日目_html/css_WEB-ITnose" >    <p>some text</p>
</div>

この場合、問題が発生します。フローティング要素はドキュメント フローの外にあるため、画像とテキストを囲む div はスペースを占有しません。

周囲の要素が浮動要素を視覚的に囲むようにするにはどうすればよいですか? Clear はこの要素のどこかに適用する必要があります:

clear 属性インスタンス - clean を空の要素に適用します

残念なことに、clean を適用できる既存の要素がないため、新しい問題が発生します。空の要素を追加して削除します。
.news {
background-color: grey;
border: plain 1px black;
}

.news img {  float: left;  }.news p {  float: right;  }.clear {  clear: both;  }<div class="news">    <img  src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" alt="2016.3.14CSSフローティング5日目_html/css_WEB-ITnose" >    <p>some text</p>    <div class="clear"></div>
</div>

これで目的の効果を実現できますが、追加のコードを追加する必要があります。

クリアできる要素も多々ありますが、レイアウト上意味のないタグを追加しなければならない場合もあります。

しかし、コンテナ div をフローティングにする別の方法もあります。

.news {  background-color: gray;  border: solid 1px black;  float: left;  }.news img {  float: left;  }.news p {  float: right;  }<div class="news">    <img  src="/static/imghwm/default1.png" data-src="news-pic.jpg" class="lazy" alt="2016.3.14CSSフローティング5日目_html/css_WEB-ITnose" >    <p>some text</p>
</div>

これで、必要な効果が得られます。

残念ながら、次の要素はこの浮動要素の影響を受けます。

この問題を解決するために、レイアウト内のすべてをフローティングし、適切な意味のある要素 (多くの場合、サイトのフッター) を使用してこれらのフロートをクリーンアップすることを選択する人もいます。

これは、不要なマーキングを削減または削除するのに役立ちます。

実際、W3School サイトのすべてのページでこのテクノロジーが使用されています。使用している CSS ファイルを開くと、

フッター div がクリーンアップされ、フッターの上にある 3 つの div がすべてフロートされていることがわかります。左。

overflow プロパティ

overflow プロパティは、コンテンツが要素のボックスからオーバーフローしたときに何が起こるかを指定します。

この属性は、要素のコンテンツ領域をオーバーフローするコンテンツがどのように処理されるかを定義します。

値がスクロールの場合、ユーザー エージェントは必要かどうかに関係なくスクロール メカニズムを提供します。

そのため、すべてのコンテンツが要素ボックス内に収まる場合でも、スクロールバーが表示される可能性があります。

値の説明
visible デフォルト値。コンテンツはトリミングされず、要素ボックスの外側にレンダリングされます。
hidden コンテンツはトリミングされ、残りのコンテンツは非表示になります。
スクロール コンテンツはトリミングされますが、ブラウザーには残りのコンテンツを表示するためのスクロール バーが表示されます。
auto コンテンツがトリミングされると、ブラウザーには残りのコンテンツを表示するためのスクロール バーが表示されます。
inherit オーバーフロー属性の値を親要素から継承することを指定します。

例:

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>浮动</title>        <style media="screen"> .content { overflow: hidden; } .div1, .div2, .div3 { width: 200px; height: 200px; background-color: cyan; /*向右浮动*/ float: right; } p { background-color: green; /*清除浮动*/ /*clear: both;*/ } </style>    </head>    <body>        <div class="content">            <div class="div1">div1</div>            <div class="div2">div2</div>            <div class="div3">div3</div>        </div>        <p>p1</p>    </body></html>

クリアフロート:

クリアされていないフロート:

授業演習

ページは下の図のようにレイアウトされており、制限時間は 20 分です:

Exerシスの答え: (直接フォローすることはお勧めしません。ノック、まず自分で試してみることをお勧めします)

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title>练习</title>        <style media="screen"> div { font-size: 50px; text-align: center; line-height: 100px; } .top { background-color: cyan; } .top div { float: left; width: 100px; height: 100px; background-color: green; } .middle { clear: both; } .middle .left { float: left; } .middle .right { float: left; } .div6 { width: 300px; height: 100px; background-color: yellow; } .left_middle { width: 300px; /*height: 100px;*/ } .div8 { float: left; width: 150px; height: 150px; background-color: gray; } .div9 { background-color: black; color: white; width: 150px; height: 150px; float: right; } .div11 { clear: both; background-color: red; width: 300px; height: 100px; } .div7 { width: 200px; height: 200px; background-color: rgb(89, 210, 218); } .div10 { width: 200px; height: 150px; background: cyan; } .div8, .div9, .div10 { line-height: 150px; } .div12 { clear: both; width: 500px; height: 100px; background-color: blue; } </style>    </head>    <body>            <div class="top">                <div class="div1">1</div>                <div class="div2">2</div>                <div class="div3">3</div>                <div class="div4">4</div>                <div class="div5">5</div>            </div>            <div class="middle">                <div class="left">                    <div class="div6">6</div>                    <div class="left_middle">                        <div class="div8">8</div>                        <div class="div9">9</div>                    </div>                    <div class="div11">11</div>                </div>                <div class="right">                    <div class="div7">7</div>                    <div class="div10">10</div>                </div>            </div>            <div class="div12">12</div>    </body></html>

まとめ

Floating element:

1.浮动元素不占父级宽高2.浮动元素都在一行内显示3.浮动元素都可以设置宽高和margin/padding4.浮动元素默认内容撑开宽高5.可以去除浏览器的默认缝隙6.浮动元素标签会发生层叠,但是内容不会

Clear float:

1.clear:both;清除的前一个浮动元素造成的影响,弊端会增加一个元素2.overflow:hidden; 加给浮动元素的父级ps:如果要兼容ie6/7的话要加zoom:1haslayout
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

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

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

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

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

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境