DIV と画像の水平および垂直の中央揃えは複数のブラウザと互換性があります

DIV と画像の水平および垂直の中央揃えは複数のブラウザと互換性があります

最初のタイプ: 完全な CSS コントロール、レイヤーフローティング (ログインページに適しています)

コードをコピー
コードは次のとおりです。

<%@ ページ言語="java" インポート="java.util.*" ページエンコーディング="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<ヘッド>
<title>私の JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="キャッシュコントロール" content="キャッシュなし">
<meta http-equiv="有効期限" content="0">
<meta http-equiv="キーワード" content="キーワード1,キーワード2,キーワード3">
<meta http-equiv="description" content="これは私のページです">
<スタイル タイプ="text/css">
#divcenter{
position:absolute;/*フローティングレイヤー*/
上位:50%;
残り:50%;
幅:300ピクセル;
高さ:300px;
margin-top:-150px;/*これはDIVの高さの半分でなければならないことに注意してください*/
margin-left:-150px;/*これはDIVの幅の半分です*/
背景:黄色;
border:1px 赤一色; }
</スタイル>
</head>
<本文>
<div id="divcenter"> これはテストです </div>
</本文>
</html>

2 番目のタイプ: JS + CSS コントロール、フローティングなし (ログイン ページに適しています)

コードをコピー
コードは次のとおりです。

<%@ ページ言語="java" インポート="java.util.*" ページエンコーディング="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<ヘッド>
<title>私の JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="キャッシュコントロール" content="キャッシュなし">
<meta http-equiv="有効期限" content="0">
<meta http-equiv="キーワード" content="キーワード1,キーワード2,キーワード3">
<meta http-equiv="description" content="これは私のページです">
<script type="text/javascript">
関数cen(){
var divname = document.all("testdiv");
//中央の高さは、ページコンテンツの高さからDIVの高さを引いた値を2で割った値に等しい
var topvalue = (document.body.clientHeight - divname.clientHeight)/2;
divname.style.marginTop = topvalue;
}
// ページサイズが変更されたときにトリガーされます
ウィンドウのサイズ変更
</スクリプト>
</head>
<body style="height:100%; width:100%; text-align:center;" onload=cen()>
<div id = "testdiv" name = "testdiv" style = "margin:0 auto; border:1px solid red; height:400px; width:400px;">
DIV センタリングデモンストレーション
</div>
</本文>
</html>

3番目のタイプ:最もシンプルで適用性が高く、上下左右の中央に配置され、すべてのブラウザと互換性があります。

コードをコピー
コードは次のとおりです。

<div style="position:absolute; top:50%; height:240px;border:1px solid red; margin:0 auto; margin-top:-120px; width:300px; left:50%; margin-left:-150px;"></div>

その他の方法:
純粋な CSS は、div 内の画像の垂直および水平中央揃えの問題を完璧に解決します。IE7.0、IE6.0、IE5.5、IE5.0、FF、Opera、Safari と互換性があります。
以下はプログラムコードです

コードをコピー
コードは次のとおりです。

<html>
<ヘッド>
<meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=gb2312" />
<タイトル></タイトル>
<スタイル タイプ="text/css">
.img_v {
display:table-cell !important;
表示:ブロック;
位置:static !重要;
位置:相対;
オーバーフロー:非表示;
幅:400ピクセル;
高さ:400px;
境界線:1px実線 #000;
垂直位置揃え:中央;
テキスト配置:中央;
}
.img_v p {
display:table-cell !important;
表示:ブロック;
マージン:0;
位置:static !重要;
位置:絶対;
上位:50%;
残り:50%;
幅:400ピクセル;
左マージン:自動;
右マージン:自動;
}
.img_v 画像 {
位置:static !重要;
位置:相対;
トップ:自動!重要;
上:-50%;
左:自動!重要;
左:-50%;
}
</スタイル>
</head>
<本文>
<div class="img_v">
<p><img src="upload/2022/web/logo.gif"></p>
</div>
</本文>
</html>

<<:  表内のコンテンツオーバーフローのレイアウト方法について

>>:  MySQLデータの挿入、更新、削除の詳細

推薦する

Dockerはローカルイメージをパッケージ化し、他のマシンに復元します

1. docker imagesを使用して、このマシン上のすべてのイメージファイルを表示します。 2...

JavaScriptはクリックトグル機能を実装します

この記事の例では、クリックして切り替える機能を実装するためのJavaScriptの具体的なコードを参...

JavaScript 関数をよりエレガントにする方法

目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...

MySQL 4 データをインポートする方法

1. mysqlコマンドをインポートするmysql コマンドのインポート構文は次のとおりです。 my...

Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル

目次1. はじめに2. 導入環境ツール4. 展開プロセス要約する1. はじめにNextcloud は...

Dockerコンテナでは、イメージを簡素化してサイズを縮小する方法を詳しく説明しています

目次1.画像レイヤーの数を減らす1. 命令の統合2. 多段階ビルド3. スクワッシュ機能を有効にする...

GitHub のサードパーティ認証方式を Vue で実装する例

目次OAuth アプリの作成コードを取得するaccess_tokenを取得するユーザー情報を取得する...

Windows ベースの MySQL 8.0.12 のインストール

このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

HTMLのリストタグを数える

1. <dl>はリストを定義し、<dt>はリスト内の項目を定義し、<d...

MySQLクエリが遅い原因と解決策

クエリ速度が遅くなる理由は多数ありますが、最も一般的な理由は次のとおりです。 1. インデックスがな...

HTML 選択タグにリンクを追加する 3 つの方法

最初のもの:コードをコピーコードは次のとおりです。 <html> <ヘッド>...

新しい Linux ファイル権限設定における umask の詳細な理解

序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...

NodeJSプロセスがどのように終了するかについて詳しく説明します

目次序文積極的な撤退例外、拒否、および発行されたエラー信号まとめ序文NodeJS プロセスが終了する...

JavaScript タイマー原理の詳細な説明

目次1. setTimeout() タイマー2. setTimeout() タイマーを停止する3. ...