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を設定する方法

推薦する

MySql バッチに挿入するときにデータの重複を避ける方法

目次序文1. ignore を挿入2. 重複キーの更新時3. を置き換える要約する序文Mysql は...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

Vue.js と MJML でレスポンシブなメールを作成する

MJML は、開発者が美しく、応答性に優れ、あらゆるデバイスやメール クライアントで動作する魅力的な...

MySQL にテキストと画像を保存する方法

Oracle の大きなテキスト データ型 Clob 長いテキスト型 (MySQL ではサポートされて...

Dockerのクイックガイド

Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...

Reactを使用する際の7つの落とし穴のまとめ

目次1. コンポーネントの肥大化2. 状態を直接変更する3. プロパティは数値を渡す必要があるが文字...

虫眼鏡の詳細のJavaScript実装

目次1. レンダリング2. 実施原則3. まとめ1. レンダリング 2. 実施原則幅と高さが等しい拡...

Tencent Cloud Server Centosにデータディスクをマウントする方法

まず、ハードディスクデバイスにデータディスクがあるかどうかを確認します # まずfdisk -lを実...

Js でオブジェクトのディープ オブジェクトを安全に取得するメソッドの例

目次序文文章パラメータ例Lodash 実装:トーキー機能: castPath関数: stringTo...

mysql replace into の使用法の詳細な説明

replace ステートメントは、一般的に insert ステートメントに似ています。ただし、テーブ...

よくあるNginxの設定ミスの例

目次ルートの場所が見つかりませんオフバイスラッシュ安全でない変数の使用スクリプト名$uri を使用す...

mysql5.7 でユーザーの初期パスワードを変更する方法

ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...

Vue3.0 は虫眼鏡効果のケーススタディを実装します

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

スライダー検証コードを実装するJavaScript

この記事では、スライダー検証コードを実装するためのJavaScriptの具体的なコードを参考までに共...

CentOS7にPHP7 Redis拡張機能をインストールする方法

導入前回の記事では、Redis をインストールして設定しましたが、まだ終わりではありません。PHP ...