次のコードを使用して、 CSS を使用し<div>
て別の内部を中央に配置しようとしまし<div>
たが、IE9 と Firefox 13.0.1 ではなく、Chrome でのみ機能します。以下は私のHTMLファイルです:
<!DOCTYPE HTML>
<html>
<head>
<link type="text/css" rel="stylesheet" href="test.css">
<title>test</title>
</head>
<body>
<div class="container">
<div class="center">abc</div>
</div>
</body>
</html>
以下は私のCSSファイルです:
.container{
position: relative;
border: 1px solid black;
width: 600px;
height: 400px;
position: relative;
}
.center {
border: 1px solid blue;
width: 300px;
height: 200px;
position: absolute;
margin-left: 50%;
margin-top: 50%;
top: -100px;
left: -150px;
}
もっと簡単な問題を見つけました。上記の CSS ファイルのコードを削除するtop: -100px
と、内側の div の高さが 200px で外側の div の高さが 400px であるため、内側の div の下の境界線が外側の div の下の境界線を正確に覆うことになり、内側の div をmargin-top: 50%
. 両方の div の下の境界線は一緒にある必要がありますが、そうではありません。
margin-top:50%
また、外側のdivの幅に依存することもわかりました。幅が長い場合、margin-top: 50%
内側の div がさらに下に移動します。とても奇妙です。誰かが理由を知っていますか?