純粋なCSSでは、子要素が親要素の幅制限を突破できる。

純粋なCSSでは、子要素が親要素の幅制限を突破できる。

文章のスタイルでは、このような状況がよく見られます

コードは次のとおりです

<div style="width: 300px;border: 4px solid #000;margin: 20px;padding: 2px;">
    親要素 <div style="border: 1px solid blue;height: 100px;white-space: nowrap;">
     <span>子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素子要素</span>
   </div>
 </div>

この現象をよく考えてみると、なぜでしょうか。子要素は親要素の幅を拡張するべきではないのかと疑問に思うかもしれません。親要素の高さを拡張するのと同じです。なぜでしょうか? では、この子要素の親要素をこの幅まで拡張するにはどうすればよいでしょうか?ここでは2つの解決策があります。

1. 表示: インラインブロック

レイアウトスタイルは次のとおりです

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
  <メタ文字セット="UTF-8">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <meta http-equiv="X-UA-compatible" content="ie=edge">
  <title>ドキュメント</title>
</head>
<スタイル>
  #ボックス1 {
    幅: 500ピクセル;
    高さ: 200px;
    境界線: 2px 青実線;
    パディング: 10px;
  }

  #ボックス2 {
    空白: ラップなし;
    表示: インラインブロック;
  }

  #ボックス3 {
    幅: 300ピクセル;
    高さ: 200px;
    背景色: 青紫;
    表示: インラインブロック;
    垂直位置合わせ: 中央;
  }

  #ボックス4 {
    幅: 400ピクセル;
    高さ: 200px;
    背景色: 黒;
    表示: インラインブロック;
    垂直位置合わせ: 中央;
  }
</スタイル>

<本文>
  <div id="box1">
    <div id="box2">
      <div id="box3"></div>
      <div id="box4"></div>
    </div>
  </div>
</本文>

</html>

結果は図の通りです。Box3とbox4はbox2の幅を拡張します。

2. ディスプレイ: インラインフレックス

レイアウトスタイルは次のとおりです

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
  <メタ文字セット="UTF-8">
  <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
  <meta http-equiv="X-UA-compatible" content="ie=edge">
  <title>ドキュメント</title>
</head>
<スタイル>
  #ボックス1 {
    幅: 500ピクセル;
    高さ: 200px;
    境界線: 2px 青実線;
    パディング: 10px;
  }

  #ボックス2 {
    空白: ラップなし;
    ディスプレイ: インラインフレックス;
  }

  #ボックス3 {
    幅: 300ピクセル;
    高さ: 200px;
    背景色: 青紫;
    垂直位置合わせ: 中央;
  }

  #ボックス4 {
    幅: 400ピクセル;
    高さ: 200px;
    背景色: 黒;
    垂直位置合わせ: 中央;
  }
</スタイル>

<本文>
  <div id="box1">
    <div id="box2">
      <div id="box3"></div>
      <div id="box4"></div>
    </div>
  </div>
</本文>

</html>

効果は以下のとおりです

純粋な CSS を使用して子要素を親要素の幅制限を超えるようにする方法についての記事はこれで終わりです。子要素が親要素の幅を超える CSS に関するより関連性の高い記事については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML で入力テキスト入力キャッシュのクリアを禁止する 2 つの方法

>>:  MySQLはデフォルトのエンジンと文字セットの詳細を変更します

推薦する

MySQL関数の包括的な概要

目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...

ウェブページのカラーマッチングにおけるオーバーラップとソフトカラーマッチングの手法を詳しく説明

この記事には、細かい点は一切なく、カラーマッチングのテクニックをシェアするだけです。とてもシンプルで...

Mysql の一時テーブルとパーティションテーブルの違いの詳細な説明

一時テーブルとメモリテーブルメモリ テーブルとは、メモリ エンジンを使用するテーブルを指します。テー...

MySQL 8.0.18はデータベースにユーザーを追加し、権限を付与します

1. データベースにログインするには、rootユーザーを使用することをお勧めします。 mysql -...

WeChatアプレットで計算機機能を実装する

この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください...

MySQL MGR 構築時の一般的な問題と解決策

目次01 よくある故障 1 02 よくある欠陥 2 03 よくある欠陥 3 04 よくある欠陥 4 ...

Docker のホスト間コンテナ通信オーバーレイ実装プロセスの詳細な説明

サーバーも 2 つあります。準備:コンテナのホスト名を設定する consul: kv タイプのストレ...

startup.bat をダブルクリックすると Tomcat がクラッシュする問題の解決方法の詳細な説明

Tomcat を学習したばかりのプログラマーにとって、これはよくある間違いです。 1. 環境変数の問...

Linux 上の Nginx に複数のバージョンの PHP をインストールする

サーバーの LNPM 環境をインストールして構成する場合、複数のバージョンの PHP の共存を考慮す...

ReactプロジェクトでのTypeScriptの実装

目次1. はじめに2. 使用方法ステートレスコンポーネントステートフルコンポーネント制御コンポーネン...

Linux の 5 ステップ ビルド カーネル ツリー

目次0. システムに付属するカーネルツリー1. 環境設定最初のステップステップ2 2. ソースコード...

Linux のファイル権限とグループ変更コマンドの詳細な説明

Linux では、すべてがファイルであり (ディレクトリもファイルです)、各ファイルにはユーザーに対...

MySQLをインストールして設定し、ルートパスワードを変更する方法

1. インストールapt-get install mysql-server にはアカウントとパスワー...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法

テーブルの作成とインデックスの作成 テーブルtbl1を作成( id int ユニーク、sname v...