overflow:hidden の役割の詳細な説明 (オーバーフローの非表示、フロートのクリア、マージンの崩壊の解決)

overflow:hidden の役割の詳細な説明 (オーバーフローの非表示、フロートのクリア、マージンの崩壊の解決)

1. オーバーフロー:非表示 オーバーフロー非表示

要素に overflow:hidden が設定されている場合、要素の内容が指定された幅と高さの属性を超えると、余分な部分は非表示になり、スペースを占有しません。

/*css スタイル*/
<スタイル タイプ="text/css">
    div{ 幅: 150px; 高さ: 60px; 背景: スカイブルー;
	 overflow: hidden; /*オーバーフローは非表示*/
       }
</スタイル>
 
/*html*/
<div スタイル="">
    今日はとても良い天気ですね! <br>今日はとても良い天気ですね! <br>
    今日はとても良い天気ですね! <br>今日はとても良い天気ですね! <br>
</div>

効果は以下のとおりです。

通常、ページ上では、オーバーフロー後に省略記号が表示されます。たとえば、テキストの行が固定幅を超えると、超過した内容は非表示になり、省略記号が表示されます。

/* 1行テキストのみ */
div{ 
    幅: 150ピクセル;
    背景: スカイブルー;
    overflow: hidden; /*オーバーフローは非表示*/
    white-space: nowrap; /*テキストが折り返されないことを指定します*/
    text-overflow: ellipsis; /*テキストがオブジェクト内でオーバーフローすると、省略記号 (...) が表示されます*/
}

効果は以下のとおりです。

2. overflow:hiddenはフローティングをクリアします

一般的に、親要素の高さが設定されていない場合、コンテンツの増加に応じて高さが適応されます。親要素内のすべての子要素をフロートに設定すると、子要素は標準フローから分離され、場所を占有しません。親要素は子要素の高さを検出できず、親要素の高さは 0 になります。質問は次のようになります:

/*css スタイル*/
<スタイル タイプ="text/css">
    .box{ 背景: スカイブルー; }
    .kid{ 幅: 100px; 高さ: 100px; フロート: 左;}
    .kid1{ 背景: 黄色; }
    .kid2{ 背景: オレンジ; }
    .wrap{ 幅: 300px; 高さ: 150px; 背景: 青; 色: 白; }
</スタイル>
 
/*html*/
<本文>
    <div class="box">
        <div class="kid kid1">子要素 1</div>
	<div class="kid kid2">子要素 2</div>
    </div>
    <div class="wrap">その他の部分</div>
</本文> 

上記のように、親要素には高さがないため、下の要素が押し上げられ、ページが折りたたまれます。したがって、親の高さが子コンテナとそのコンテンツの高さに適応するように、親に overflow:hidden 属性を追加する必要があります。次のように:

IE の下位バージョンでは overflow:hidden; はこの効果を実現できないため、zoom:1; を追加する必要があります。

したがって、互換性を高めるために、float をクリアするために overflow:hidden を使用する必要がある場合は、zoom:1; を追加するのが最適です。

/*css スタイル*/
<スタイル タイプ="text/css">
    .box{ 背景:スカイブルー; 
	  overflow: hidden; /*フローティングをクリア*/
	  ズーム:1;
        }
    .kid{ 幅: 100px; 高さ: 100px; フロート: 左;}
    .kid1{ 背景: 黄色; }
    .kid2{ 背景: オレンジ; }
    .wrap{ 幅: 300px; 高さ: 150px; 背景: 青; 色: 白; }
</スタイル>
 
/*html*/
<本文>
    <div class="box">
        <div class="kid kid1">子要素 1</div>
	<div class="kid kid2">子要素 2</div>
    </div>
    <div class="wrap">その他の部分</div>
</本文> 

3. overflow:hiddenはマージンの崩壊を解決する

親要素内には子要素があります。子要素に margin-top スタイルを追加すると、親要素も追従し、次のように外側の余白が折りたたまれます。

/*css スタイル*/
<スタイル タイプ="text/css">
    .box{ 背景: 空色;}
    .kid{ 幅: 100px; 高さ: 100px; 背景: 黄色; 上余白: 20px}
</スタイル>
 
/*html*/
<本文>
    <div class="box">
	<div class="kid">子要素 1</div>
    </div>
</本文> 

したがって、親要素に overflow:hidden を追加すると、この問題を解決できます。

/*css スタイル*/
<スタイル タイプ="text/css">
    .box{ 背景:スカイブルー;
          overflow: hidden; /*マージンの崩壊を解決する*/   
        }
    .kid{ 幅: 100px; 高さ: 100px; 背景: 黄色; 上余白: 20px}
</スタイル>
 
/*html*/
<本文>
    <div class="box">
	<div class="kid">子要素 1</div>
    </div>
</本文> 

以上で、overflow:hiddenの役割(オーバーフローの非表示、フロートのクリア、マージン崩れの解決)の詳しい説明は終了です。overflow:hiddenの役割についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

<<:  html+vue+element-ui のスムーズさを 1 分で体験

>>:  HTML で入力ボックスに純粋な数字のみを入力するように制限する方法

推薦する

プロジェクトに必須の 8 つの JavaScript コード スニペット

目次1. ファイル拡張子を取得する2. コンテンツをクリップボードにコピーする3. スリープ時間は何...

Alibaba Cloudのセキュリティルール設定の詳細な説明

2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...

React Nativeはモニタリングジェスチャーの上下プル効果を実現します

React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは...

uniappの無痛トークンリフレッシュ方法の詳細な説明

フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...

新しく作成された MySQL ユーザーの % には localhost が含まれていますか?

通常の説明%はどのクライアントでも接続できることを意味しますlocalhostはローカルコンピュータ...

基本構造、ドキュメント タイプ、ヘッダー、本文などの一般的な HTML 要素の概要。

1. 基本構造:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBL...

Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス

目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...

TypeScriptの基本型の詳細な説明

目次ブール型数値型文字列型文字列と数値を連結する未定義およびnull配列型タプル型列挙型あらゆるタイ...

vue3 の setUp とリアクティブ関数の使用方法の詳細な説明

1. いつsetUpを実行するかvue3 ではメソッドを正常に使用できるようになったことは誰もが知っ...

CSS ロリポップを描くサンプルコード

背景: 毎日少しずつ進歩し、少しずつ積み重ねていけば、どんどん良くなっていきますコード: <!...

nginxの基礎を学ぶ

目次1. nginx とは何ですか? 2. nginx で何ができるのか? 2.1 フォワードプロキ...

JavaScript の非同期処理で待機時間を節約できますか?

JavaScriptで非同期実行の結果を同期的に取得するには、 for ループ内でawaitを使用...

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

MySQL 5.6 のインストール手順(画像とテキスト付き)

MySQL はオープンソースの小規模リレーショナル データベース管理システムです。現在、MySQL...

MySQL でレプリケーション フィルターを動的に変更する方法

MySQLはレプリケーションフィルターを動的に変更します今日遭遇した問題についてお話しします。今日は...