常にページの中央に配置され、ページ上に浮かぶ確認ダイアログを表示する方法を探しています。
試してみましたが、位置が固定されているため、「常に中央に配置される」ことはありません。
.Popup
{
text-align:center;
position: absolute;
bottom: 10%;
left: 27%;
z-index:50;
width: 400px;
background-color: #FFF6BD;
border:2px solid black;
}
何か案が?ありがとう
これを使ってみてください[〜#〜] css [〜#〜]
#centerpoint {
top: 50%;
left: 50%;
position: absolute;
}
#dialog {
position: relative;
width: 600px;
margin-left: -300px;
height: 400px;
margin-top: -200px;
}
<div id="centerpoint">
<div id="dialog"></div>
</div>
#centerpointはダイアログのコンテナーdivである必要があります
注#centerpoint DIVはbody要素内または要素内- position:relative;プロパティがない
@Tomaの答えと比較すると、1つの要素でそれを行うことができます
#theDiv {
position: fixed;
top: 50%;
left: 50%;
width: 200px;
margin-left: -100px;
height: 50px;
margin-top: -25px;
background: yellow;
}
<div id="theDiv" />
これにより、親コンテナーとそのposition
プロパティに関係なく、ページのどこにでも配置できます。
CSS3変換を使用して、ハードコードされた幅とマージンを回避できます。
.dialog {
top: 50%;
left: 50%;
-webkit-transform: translateX(-50%) translateY(-50%);
-moz-transform: translateX(-50%) translateY(-50%);
-ms-transform: translateX(-50%) translateY(-50%);
transform: translateX(-50%) translateY(-50%);
}
使用例: http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/
.Popup
{
width:400px;
margin-left:auto;
margin-right:auto;
}
それが水平方向の配置です。垂直方向の配置は少しトリッキーです。 「css垂直中心」か何かのためにちょうどグーグル。