ユーザーがボタンをクリックしたときにアラートを表示しようとしていますが、アラートを水平方向の中央に配置する方法がわかりません。アラートを #main 内にとどめたいと思います。このフィドルを参照してください。
ありがとう!
ユーザーがボタンをクリックしたときにアラートを表示しようとしていますが、アラートを水平方向の中央に配置する方法がわかりません。アラートを #main 内にとどめたいと思います。このフィドルを参照してください。
ありがとう!
#mainにposition
以外があることを確認してstatic
から、アラートに次のルールを割り当てます。
position: absolute;
left: 50%;
top: 50%;
margin-left: -width;
margin-top: -height;
width
とheight
を正しい値に置き換えます。
@Darkwater によって提案された css による解決策は正しいので、しばらく前に、まだ CSS を使用している jQuery 用のこのプラグインを作成して、複数のオブジェクトですばやく再利用できるようにしました。
という名前の jQuery 用の新しいメソッドを作成しますcenter
。
$.fn.center = function() {
this.css("position","absolute").css("z-index","5000")
.css("top","50%").css("left","50%")
.css("margin",(-(this.height()/2))+"px 0 0 "+(-(this.width()/2))+"px");
return this;
};
div#message
次に、次の直後にオブジェクト (この場合はアラート) にバインドします.show()
。
$("#message").show().center();
そして、div
は垂直方向と水平方向の両方で中央に配置されます。
編集:私の知る限り、jQueryは非表示の要素を適切に処理できないため、要素をDOMに表示するcenter()
メソッドまたは同様のメソッドの直後にメソッドをバインドすることを忘れないでください。show()
position: fixed;
use position: relative;
for#main
とposition: absolute;
forを使用し#message
てメッセージをシフトdiv
インするのではなく、マークアップと CSS の配置が実際には間違っています。#main div
そして計算部分ですが、 a を中央揃えにしたいときは、 のdiv
を与えて垂直方向中央に持ってくる必要があります..top: value (-)minus height
div
#message{
display: none;
position: relative;
top: 50%;
text-align: center;
}