[CSSチュートリアル】overflow:hiddenの役割を解説(overflow hidden、clear float、外周マージンの崩れを解決する)。
I. オーバーフロー:hidden オーバーフロー:hidden
ある要素に overflow:hidden を設定すると、その要素の内容が与えられた width と height 属性を超えた場合、超えた部分は占拠されないようになります。
/*css styles*/
<style type="text/css">
div{ width: 150px; height: 60px; background: skyblue;
overflow: hidden; /*overflow hidden*/
}
</style>
/*html*/
<div style="">
It's a beautiful day! <br> It's a beautiful day! <br>
It's a beautiful day! <br> It's a beautiful day! <br>
</div>
その効果は次の通りです。
一般に、ページ内では通常、テキスト行が一定の幅を超えた場合など、オーバーフローの後にエリプシスを表示し、オーバーフローを非表示にして表示します。
/*Only for single line of text*/
div{
width: 150px;
background: skyblue;
overflow: hidden; /*overflow hidden*/
white-space: nowrap; /* specifies that text does not make line breaks*/
text-overflow: ellipsis; /* show omitted marker when text overflows inside object (...) */
}
その効果は次の通りです。
II. overflow:hidden クリアフロート
一般に、親要素に高さが設定されていない場合、コンテンツで高さを増やすことで適応させる。親要素の中の子要素を全てfloatにした場合、子要素は標準のフローから外れ、場所を占有せず、親要素は子要素の高さを検出せず、親要素の高さは0になります。 そこで、以下のような疑問が生じます。
/*css styles*/
<style type="text/css">
.box{ background:skyblue; }
.kid{ width: 100px;height: 100px; float:left;}
.kid1{ background: yellow; }
.kid2{ background: orange; }
.wrap{ width: 300px; height: 150px; background: blue; color: white; }
</style>
/*html*/
<body>
<div class="box">
<div class="kid kid1">child element 1</div>
<div class="kid kid2">child element 2</div>
</div>
<div class="wrap">Other sections</div>
</body>
上記のように、親要素には高さがないため、その下の要素が上に来てしまい、ページが崩れてしまいます。そのため、親の高さを子コンテナや子コンテンツの高さに合わせて適応させるために、親にoverflow:hidden属性を追加する必要があります。次のようにします。
overflow:hiddenでは不可能なので、IEの下位バージョンでは、zoom:1を追加する必要があります。
ですから、より良い互換性のために、overflow:hidden を使用して float を消去する必要がある場合は、zoom:1 を追加するのがベストでしょう。
/*css styles*/
<style type="text/css">
.box{ background:skyblue;
overflow: hidden; /*clear float*/
zoom:1;
}
.kid{ width: 100px;height: 100px; float:left;}
.kid1{ background: yellow; }
.kid2{ background: orange; }
.wrap{ width: 300px; height: 150px; background: blue; color: white; }
</style>
/*html*/
<body>
<div class="box">
<div class="kid kid1">child element 1</div>
<div class="kid kid2">child element 2</div>
</div>
<div class="wrap">Other sections</div>
</body>
III. overflow:hiddenで余白のつぶれを解消する
親要素の中に子要素がある場合、子要素にmargin-topスタイルを追加すると、親要素もそれに追従して、以下のように外側のマージンが崩れることがあります。
/*css styles*/
<style type="text/css">
.box{ background:skyblue;}
.kid{ width: 100px;height: 100px; background: yellow; margin-top: 20px}
</style>
/*html*/
<body>
<div class="box">
<div class="kid">child element 1</div>
</div>
</body>
そこで、親要素にoverflow:hiddenを追加することで問題を解決します。
/*css styles*/
<style type="text/css">
.box{ background:skyblue;
overflow: hidden; /*resolve collapsed outer margins*/
}
.kid{ width: 100px;height: 100px; background: yellow; margin-top: 20px}
</style>
/*html*/
<body>
<div class="box">
<div class="kid">child element 1</div>
</div>
</body>
今回はoverflow:hiddenの役割(overflow hidden、clear float、外周余白の崩れを解消)について紹介します、overflow:hiddenの役割に関連する内容はスクリプトホームの過去記事を検索するか以下の関連記事を引き続きご覧ください、今後ともスクリプトホームをよろしくお願いします!(`・ω・´)
関連
-
[CSSチュートリアル】シングルセレクトの折りたたみメニュー機能を実現するCSS
-
[CSSチュートリアル】resizeで画像のプレビューを切り替える方法
-
[CSSチュートリアル】QQtabBarからCSS命名規則BEMの詳細を見る
-
[css3]ピュアCSS3によるネオンライト効果
-
[CSSチュートリアル】新しいCSS:whereと:is擬似クラス関数とは?
-
[css3]css3アニメーションマウスが絵の上に置かれると徐々に大きくなり、マウスが絵から離れると徐々に縮む効果
-
[CSSチュートリアル】よく使われるnth-childセレクタをまとめる
-
[CSSチュートリアル】背景画像画面の適応的な実装を実現するCSS
-
[CSSチュートリアル]cssに0.5pxの行を実装してモバイル互換の問題を解決する(推奨)
-
[css3】background属性の8つの属性値について解説(インタビュー記事)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[CSSチュートリアル】Pure CSSカスタム複数行抜け問題(原理から実装まで)
-
[CSSチュートリアル】CSS たった1行のコードでアバターと国旗の一体化を実現
-
[CSSチュートリアル]CSSは、2列のレイアウト、固定幅の左側、適応するためのさまざまな方法の右側を達成するために
-
[CSSチュートリアル】CSSを解析して、画像のテーマカラー機能を抽出する(コツ)
-
[CSSチュートリアル】パララックススクロールの効果を完成させるCSS
-
[CSSチュートリアル】CSSで炎のエフェクトを記述する方法
-
[Div+CSSチュートリアル】divの背景を透明にする設定例
-
[CSSチュートリアル】CSSでデータホットスポット効果を実現する方法
-
[css3]CSS3のtransition-delayプロパティのデフォルト値0を単体で失敗しないように修正。
-
css3]アニメーションとトランジションの違いについて