ホームページ > 記事 > ウェブフロントエンド > フローティング要素の問題
子要素をフローティングにすると、親要素ボックスを開けなくなり、親要素のスタイルが表示されなくなります
元のコード:
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p></p></body></html>
以下のように表示されます。 :
1.親要素の高さを設定します:
height: 500px; /*设置父元素高度*/
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; height: 500px; /*设置父元素高度*/ } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p></p></body></html>2.親要素の絶対位置:position:absolute;
rreee
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; position: absolute; /*父元素绝对定位*/ } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p></p></body></html>4. 親要素の設定 float: float: left/right
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; overflow: hidden; } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p></p></body></html>5. 子要素の最後に空のボックスを追加し、スタイルをclear:both;に設定します
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; float: left; } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p></p></body></html>6親要素のスタイルに擬似クラスを追加します。これは子要素に擬似クラスを追加するのと同じです。要素の最後に空のボックスを追加します。原理は 5
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> #content{ border: 1px red solid; } .fl{ border: 1px blueviolet solid; height: 100px; width: 100px; float: left; } .fr{ border: 1px green solid; height: 200px; width: 200px; float: right; } .clear{ clear: both; } </style></head><body><p id="content"> <p class="fl">内容一</p> <p class="fr">内容二</p> <p class="clear"></p></p></body></html>と似ています。
以上がフローティング要素の問題の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。