CSS で高さが不明な垂直中央揃えを実装する

CSS で高さが不明な垂直中央揃えを実装する

この記事では主に、高さが不明な垂直方向の中央揃えを CSS で実装する方法を紹介し、皆さんと共有します。詳細は次のとおりです。

<!doctypehtml>
<html lang="ja">  
  <ヘッド>  
    <メタ文字セット="utf-8" />  
    <meta content="IE=8" http-equiv="X-UA-互換"/>  
    <title>CSS 垂直中央</title>  
    <スタイル タイプ="text/css">  
      。容器{  
        width:500px;/*装飾*/
        高さ:500px;  
        背景:#B9D6FF;  
        境界線: 1px 実線 #CCC;  
      }  
       
    </スタイル>  
  </head>  
  <本文>  
    <h1>垂直中央(表)</h1>  
    <div クラス = 'コンテナ'>
        <テーブルの幅="100%" 高さ="100%">
            <tr>
               <td align="center" valign="middle">
                  <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
               </td>
           </tr>
       </テーブル> 
   </div>
     
  </本文>  
</html>

さて、CSS の実装を見てみましょう。テーブルでできることはすべて CSS でもできますが、CSS はブラウザごとに大きく異なるため、互換性を保つのは非常に困難です。これには多くの詳細、さまざまなフロー、表示効果、CSS ハックが含まれます。IE は初期の頃に多くのプライベート属性を開発しましたが、これらについてはさらに調査する必要があります。まず最も単純な実装である背景画像メソッドを見てみましょう

背景画像メソッド

<!doctypehtml>
<html>
<ヘッド>
<title>CSS 垂直中央</title>
<スタイル タイプ="text/css">
。容器 {
  幅:500ピクセル;
  高さ:500px;
  行の高さ:500px;
  背景:#B9D6FF url(http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg) 繰り返しなし 中央 中央;
  境界線:1px実線 #f00;
  テキスト配置: 中央;
}
 
</スタイル>
 
</head>
<本文>
<h1>垂直中央</h1>
<div class="コンテナ">
    
</div>
</本文>
</html>

CSS 表現方法

<html lang="ja">  
  <ヘッド>  
    <メタ文字セット="utf-8" />  
    <meta content="IE=8" http-equiv="X-UA-互換"/>  
    <title>Situ Zhengmei CSS 垂直センタリング</title>  
    <スタイル タイプ="text/css">  
      。容器{  
        /*IE8 は標準ブラウザと垂直に並びます*/
        表示: テーブルセル;
        垂直位置揃え:中央; 
        width:500px;/*装飾*/
        高さ:500px;  
        背景:#B9D6FF;  
        境界線: 1px 実線 #CCC;  
      }  
      .コンテナ画像{  
        display:block;/*ボックスモデルにします*/
        マージン:0 自動;  
        テキスト配置:中央;
        margin-top:expression((500 - this.height )/2);/*IE567 が垂直方向に揃うようにする*/
      }  
    </スタイル>  
  </head>  
  <本文>  
    <h1>垂直中央 (CSS 式)</h1>  
    <div class="コンテナ">  
      <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />  
    </div>  
  </本文>  
</html>

絶対位置決め法

<!doctypehtml>
<html lang="ja">
  <ヘッド>
    <メタ文字セット="utf-8" />
    <meta content="IE=8" http-equiv="X-UA-互換"/>
    <title>Situ Zhengmei CSS 垂直センタリング</title>
    <スタイル タイプ="text/css">
      div {
       /*IE8 は標準ブラウザと垂直に並びます*/
        表示:テーブルセル;
        垂直位置揃え:中央;
        オーバーフロー:非表示;
        位置:相対;
        テキスト配置:中央;
        width:500px;/*装飾*/
        高さ:500px;
        境界線:1px実線 #ccc;
        背景:#B9D6FF;
      }
      div p {
        +位置:絶対;
        トップ:50%
      }
      画像 {
        +位置:相対;
        上:-50%;
        左:-50%;
      }
  
    </スタイル>
  </head>
  <本文>
    <h1>垂直中央(絶対配置)</h1>
    <div class="コンテナ">
      <p>
        <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
      </p>
    </div>
  </本文>
</html>

display:inline-block メソッド

<!doctypehtml>
<html lang="ja">
  <ヘッド>
    <メタ文字セット="utf-8" />
    <meta content="IE=8" http-equiv="X-UA-互換"/>
    <title>Situ Zhengmei CSS 垂直センタリング</title>
    <スタイル タイプ="text/css">
      div {
        表示:テーブルセル;
        垂直位置揃え:中央;
        テキスト配置:中央;
        幅:500ピクセル;
        高さ:500px;
        背景:#B9D6FF;
        境界線: 1px 実線 #CCC;
      }
 
    </スタイル>
    <!--[IEの場合]>
<スタイル タイプ="text/css">
私 {
    表示:インラインブロック;
    高さ:100%;
    垂直方向の配置:中央
    }
画像 {
    垂直方向の配置:中央
    }
</スタイル>
<![endif]-->
    
  </head>
  <本文>
    <h1>垂直中央揃え(インラインブロック方式)</h1>
    <div class="コンテナ">
      <i></i>
      <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
    </div>
  </本文>
</html>

書き込みモード

<!doctypehtml>
<html lang="ja">
  <ヘッド>
    <メタ文字セット="utf-8" />
    <meta content="IE=8" http-equiv="X-UA-互換"/>
    <title>CSS 垂直中央</title>
    <スタイル タイプ="text/css">
      div{
        幅:500ピクセル;
        高さ:500px;
        行の高さ:500px;
        テキスト配置:中央;
        背景:#B9D6FF;
        境界線:1px実線 #f00;
      }
      div スパン{
        高さ:100%\9;
        書き込みモード:tb-rl\9;
      }
      div画像{
        垂直方向の配置:中央
      }
    </スタイル>
  </head>
  <本文>
    <h1>垂直方向の中央揃え(書字方向方式)</h1>
    <div class="コンテナ">
      <span>
        <img src="http://images.cnblogs.com/cnblogs_com/rubylouvre/205314/r_iebug.jpg" />
      </span>
    </div>
  </本文>
</html> 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL 5.7 クラスタ構成手順

>>:  DockerでEurekaを設定する方法

推薦する

Linux プロセスの CPU 使用率が 700% に達し、終了できない場合の解決策

目次1. 問題の発見2. プロセスの詳細情報を表示する3. 解決策4. 大法を再開する1. 問題の発...

Vue3 でモバイル ログインおよび登録モジュールをエレガントに実装する方法

目次序文入力ボックスコンポーネントレイアウトvモデルデータ検証ルール設計形状サブコンポーネントは検証...

Docker に nginx をインストールし、https 経由でアクセスを構成する方法

1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...

MySQL スケジュール バックアップ ソリューション (Linux crontab を使用)

序文この世の愛には値段のつくものもありますが、データには値段のつけられないものがあります。将来、誤っ...

nginx がドメイン名アクセス用に設定されている場合にドメイン名の後に 2 つのスラッシュ // が表示される問題の解決方法

最近、個人のウェブサイトを書き直しました。Alibaba Cloudで新しいサーバーを購入しました。...

JavaScriptはすべての選択と選択解除の操作を実装します

この記事では、JavaScriptで全選択と全選択解除の操作を実装するための具体的なコードを参考まで...

DockerでPrometheusをインストールする詳細なチュートリアル

目次1. Node Exporterをインストールする2. cAdvisorをインストールする3. ...

CSS3 で半透明の背景画像と不透明なコンテンツを実現する方法の例

以前のブログのログインページを作成していたときに、この問題に遭遇しました。突然、透明な背景画像と不透...

簡単な約束を段階的に実行する方法を教えます

目次ステップ1: フレームワークを構築するステップ2 構築されたPromiseフレームワークに入力す...

Linux 型バージョン メモリ ディスク クエリ コマンド紹介

1. まず、Linux システムのバージョン内容について概要を説明します。 1. カーネルバージョン...

yum から docker インストール パッケージをダウンロードし、オフライン マシンにインストールする例の詳細なコード

1. ネットワークマシンでは、デフォルトのcentosyumソースを使用します [root@kole...

ウェブデザイナーが知っておくべき効率的なナビゲーションデザインの3つの原則

ウェブサイトのナビゲーションを設計することは、家の基礎を築くようなものです。基礎がしっかりしていなけ...

モバイル ブラウザのビューポート パラメータ (Web フロントエンド デザイン)

モバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置します。このウィン...

React クラスコンポーネントのライフサイクルと実行順序

1. Reactコンポーネントを定義する2つの方法1. 関数コンポーネント。単純な関数コンポーネント...

MySQL ストアド プロシージャと共通関数のコード分析

mysql ストアド プロシージャの概念:特定のタスク (クエリと更新) を実行できる、データベース...