[解決済み】position:fixed要素をセンタリングする。
2022-03-23 23:45:06
質問
を作りたいのですが
position: fixed;
ポップアップボックスが画面中央に配置され、幅と高さが動的に設定されます。私は
margin: 5% auto;
を使用します。なし
position: fixed;
は、水平方向には正常にセンタリングされますが、垂直方向にはセンタリングされません。そこで
position: fixed;
水平方向にもセンタリングされない。
こちらがその一式です。
.jqbox_innerhtml {
position: fixed;
width: 500px;
height: 200px;
margin: 5% auto;
padding: 10px;
border: 5px solid #ccc;
background-color: #fff;
}
<div class="jqbox_innerhtml">
This should be inside a horizontally
and vertically centered box.
</div>
このボックスをCSSで画面中央に配置するには?
解決方法は?
基本的には
top
と
left
から
50%
で、divの左上隅を中央に配置します。また
margin-top
と
margin-left
を div の height と width のマイナス半分に設定することで、中心を div の真ん中に移動させることができます。
このように
<!DOCTYPE html>
(標準モード)であれば、これでよいでしょう。
position: fixed;
width: 500px;
height: 200px;
top: 50%;
left: 50%;
margin-top: -100px; /* Negative half of height. */
margin-left: -250px; /* Negative half of width. */
また、IE6/7などの古いブラウザや縦方向の中央揃えを気にしないのであれば、代わりに
left: 0
と
right: 0
を持つ要素に
margin-left
と
margin-right
の
auto
そうすれば、固定幅で配置された要素は、その左右のオフセットがどこから始まるかを知ることができます。あなたの場合はこうです。
position: fixed;
width: 500px;
height: 200px;
margin: 5% auto; /* Will not center vertically and won't work in IE6/7. */
left: 0;
right: 0;
繰り返しになりますが、IE を気にするのであれば、これは IE8+ でのみ動作します。また、これは水平方向のみで、垂直方向にはセンタリングされません。
関連
-
[解決済み] <div style="display:none">によるテーブルデータの非表示。
-
[解決済み] Bootstrapのポップオーバーの幅を変更する
-
[解決済み] css グリッドによる垂直・水平方向の中央揃え 4x4 正方形グリッド
-
[解決済み] cssのフォントサイズ14px/26pxってどうなってるの?
-
[解決済み] twitter-bootstrapの@-ms-viewportというタグは何ですか?
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] 絶対位置指定された要素をdivの中央に配置するにはどうしたらよいですか?
-
[解決済み] Twitter Bootstrap 3を使用して列を中央に配置する
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
-
[解決済み】CSSによる固定divの水平方向のセンタリング?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ボックスにサイズ/部分的なボーダーを宣言する方法はありますか?
-
[解決済み] ユーザーエージェントのスタイルシートが私のCSSを上書きしないようにする方法
-
[解決済み] CSSでボックスの下枠を削除する方法
-
[解決済み] FontAwesomeによる星評価用CSS
-
[解決済み] DIVの背景色が表示されない
-
[解決済み] アニメーションディレイが効かない
-
[解決済み] MUIでカスタムアニメーションエフェクト@keyframesを適用する方法は?
-
[解決済み] CSSでitempropをターゲットにする?
-
[解決済み] CSS 不透明度 - 背景色
-
[解決済み] jQueryを使用してDIVを画面の中央に配置する