css float_html/css_WEB-ITnoseの学習体験
css float の詳細説明
@(css float)[hasLayout|clear float|Miaotong]
css float の定義と使い方
float 属性は、要素がどの方向にフロートするかを定義します。歴史的に、このプロパティは常に画像に適用され、テキストが画像の周りを回り込むようにしていましたが、CSS では任意の要素をフローティングにすることができます。フローティング要素は、要素のタイプに関係なく、ブロック レベルのボックスを作成します。
非置換要素をフローティングにする場合は、明示的な幅を指定します。それ以外の場合は、可能な限り狭くなります。
注: 行上の浮動要素用のスペースがほとんどない場合、要素は次の行にジャンプし、このプロセスは特定の行に十分なスペースができるまで継続します。
默认值:none;继承性:no;版本:CSS1JavaScript 语法:object.style.cssFloat="left";
可能な値
值 描述left 元素向左浮动。right 元素向右浮动。none 默认值。元素不浮动,并显示在其在文本中出现的位置。inherit 规定应该从父元素继承 float 属性的值。
簡単な例
float:left がここで使用され、ul 要素と要素を左に移動します。
クリアフロート
クリアフロートとは何ですか?
クリアフロートを「クリアフロート」と訳すことに慣れている人が多いですが、フロートによって引き起こされる問題を考えると、私たちがしなければならないのは、クリアフロートだけでなくクローズフロートも含めたフロートの影響を理解することだと思います。 . float が他の要素に影響を与えないようにします。
なぜ float をクリアする必要があるのですか?
float をクリアする必要がある理由は、float に不満があるからではなく、場合によっては float がレイアウトに問題を引き起こし、float をクリアしなければならないからです。 。 インパクト。以下は、float および clear float メソッドによって引き起こされるレイアウトの問題の一部です:
コードとレンダリングは次のとおりです:
上記の例は、内側の div が float の場合、高さ、パディング、およびマージンが次のとおりであることを示しています。この場合、親の高さは 0 であり、親コンテナの高さは内部コンテンツの高さだけ拡張できることがわかります。これが float によって引き起こされる高さの崩壊の問題です。
親コンテナの高さを設定したらどうなるでしょうか?
コードとレンダリングは次のとおりです:
親コンテナの高さを設定するとき、高さは0ではなく200ピクセルに設定されることがわかりました
親コンテナにマージンとパディングを設定すると、また状況はどうですか?
コードとレンダリングは次のとおりです:
上記の例は、親 div の高さを設定せず、パディングとマージンのみを設定した場合、レンダリングに示されているように、実際の高さは次と等しいことを示しています。上下の境界線、および上下のパディング。マージンを追加した後も、コンテンツの高さは 0 のままで、float により高さが崩れます。
この場合、clear float メソッドは次のとおりです:
方法 1: 新しい要素タグを追加し、clear: 両方を適用します。
コードとレンダリングは次のとおりです:
上記の例clear:both を使用すると、親 div の高さは子レイヤーの高さによって増加し、コンテンツの高さは 50px になり、パディングとマージンは影響を受けないことを示します。この方法の長所と短所は次のとおりです:
方法 2: 親 div 定義 overflow:auto/hidden; (ここでの親 div は div#wrap を指します)
コードとレンダリングは次のとおりです:
上記の例は、方法 2 を通じて、効果を実現するために、コンテンツの高さも 50px に変更され、パディングとマージンは影響を受けません。
ブロック書式設定コンテキスト (ブロックレベルの書式設定コンテキスト) は、W3C CSS 2.1 仕様の概念であり、要素がコンテンツをどのように配置するか、また他の要素との関係や相互作用を決定します。
ブロック書式設定コンテキストが作成された要素には、その子要素が次々と配置されます。それらの垂直方向の開始点は、それを含むブロックの上部であり、隣接する 2 つの要素間の垂直方向の距離は、「margin」属性によって異なります。ブロック フォーマット コンテキスト内の隣接するブロック レベル要素の垂直マージンが折りたたまれます。
BFC の使用: 非 BFC 要素は、float が追加されたサブ要素の高さの値を無視し、その上部と下部のマージンはその内部と外部のマージンと一緒に折り畳まれます。 float 要素は、それ自体とその子要素のレイアウトに影響を与えます。
BFC のトリガーは、これら 3 つの問題を解決する効果的な方法です。これが、overflow:hidden/auto を使用してフローティングやその他の問題を解決できる理由です。
をトリガーするための条件:
「float」の値が「none」ではない「display」の値が「table-cell」である
「table-caption」、または「inline-block」
「position」の値は「static」でも「relative」でもありません
したがって、オーバーフロー属性を使用してフロートをクリアする場合、オーバーフロー属性には 3 つの属性値 (hidden、auto、visible、scroll、inherit) があることに注意してください。 float をクリアするには hidden 値と auto 値を使用できますが、この値では float をクリアする効果は得られません。IE6 では hasLayout をトリガーする必要があります。
overflow:auto; メソッドを使用する利点と欠点は次のとおりです:
overflow:hidden; メソッドを使用する利点と欠点は次のとおりです:
方法 3: 親要素も float に設定されます
コードと効果は次のとおりです:
方法 4: br タグを使用します (br で clear="all")
この方法はやや特殊ですが、br には clear="all | left | right | none" 属性があります
コードと効果は次のとおりです。 :
方法 5: 親要素に display:table を設定するか、または set display:inline-block;
: Use:after 疑似要素 注意すべき点: after は疑似要素 (Pseudo-Element) であり、疑似クラスではありません(一部の CSS マニュアルでは、これを「疑似オブジェクト」と呼んでいます)。 IE6-7は:afterをサポートしていないため、zoom:1を使用してhasLayoutをトリガーします。
このメソッドは次から派生しています: How To Clear Floats Without Structural Markup http://snipplr.com/view/86/clear-floats-without-structural-markup/
コードと結果は次のとおりです:
content: ".";
display: block;
height: 0;
clear: Both;
visibility: hidden;
}
.clearfix {display : inline- block;} /* for IE/Mac /
IE/Mac の市場シェアが低いため、次のように簡略化できます:
.clearfix:after {content:"."; :0;visibility:hidden;clear:both; }
.clearfix {zoom:1; }
ここで、clear:both; はすべてのフロートをクリアすることを意味します。 ; FF/chrome/opera/IE8 の display:block; は欠落できません。content() は値を持つか空にすることができます。 Visibility:hidden; の機能は、ブラウザがそれを表示するだけでレンダリングできるようにして、フロートをクリアできるようにすることです。
HTML コードを作成するときに、Firefox やその他の W3C 標準に準拠するブラウザーでは、外部コンテナとして DIV があり、内部 DIV に float スタイルが設定されている場合、外部コンテナ DIV は使用できないことがわかりました。中がクリアではありません。
このclearfix CSSはafter疑似オブジェクトを使用しており、clearfixが適用される要素の最後にコンテンツ内のコンテンツを追加します。ここではピリオド「.」が追加され、その表示はブロックに設定され、クリアは両方に設定されます。これにより、コンテナを開けるという目的が達成されます。ここで説明します:
CSS content 属性
定義と使用法
content 属性は、生成されたコンテンツを挿入するために、:before および :after 疑似要素と組み合わせて使用されます。
この属性は、要素の前後に配置される生成コンテンツを定義するために使用されます。デフォルトでは、これは多くの場合インライン コンテンツですが、このコンテンツが作成するボックスのタイプは、表示属性を使用して制御できます。
デフォルト値:normal
継承: noバージョン: CSS2JavaScript 構文: object.style.content="url(beep.wav)"
none
normal
コンテンツ仕様
inheritは、継承する必要があることを指定します親要素 content 属性の値を継承します。
詳細については、リンクを参照してください: http://www.w3school.com.cn/cssref/pr_gen_content.asp
結論
この記事には hasLayout や BFC などが含まれます。レベルが限られているため、ここでは個別に説明しません。調査後に別の記事で説明します。
今日はここまでです。間違いがあればご指摘ください。 -----ミャオトン

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、html5< time>について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。
