<div id="someid">some text here</div>
CSS...
#someid{position: fixed; width: 500px; height: 30px;}
ウィンドウの水平方向と垂直方向に絶対に中央に配置したいですか?
#someid{
position:
fixed;
width: 500px;
height: 30px;
right:50%;
margin-right:-250px;
}
負のマージンは、ブラウザがdivの右側をブラウザウィンドウの右側から50%と見なすときに発生するオフセットを修正することです。
垂直方向の中央に配置するには、垂直方向の位置で同じことを試してみてください(これまでに行ったことがないので、ここでは保証はありません)。
例えば:
top:50%;
margin-top:-15px;
編集 もう少し詳細な説明:#someidを右から50%配置すると、親の右の境界から親の全幅の50%離れるように配置されます。ただし、これは#someidの中心からその親要素の右側の境界までを測定するのではなく、#someidの右側からその親要素の右側までを測定します。もちろん、これは#someidの中心ではなく、幅の半分だけオフセットされています。
これが、それを相殺するために負のマージンを使用する理由です。負のマージンは、親要素の右側から50%右側に配置したときに発生する左側のオフセットを補うために、#someidの幅の半分である必要があります。
あなたの位置がfixed
div を相対的に配置することはできません。上と左の値を JavaScript で計算する必要があります。次のように書くことで、その位置を水平方向に中央揃えにすることができます。
width: #SOMEWIDTH#px;
margin: 0 auto;
マージンを div の中央に配置するには、width 属性を設定する必要があります。自動マージンは垂直位置には影響しません。