Настройка верхнего процента CSS не работает должным образом
Я попробовал отзывчивый макет css, но "top: 50%" не может работать, и "left: 50%" может. Почему это случилось?
<div style="position:relative;top:0%;left:0%;height:100%;width:100%">
<div style="position:absolute;top:50%;left:50%;">
</div>
</div>
Ответы
Ответ 1
Определите размер для родительского контейнера, например div:
<div style="border: 2px solid red;position:relative;top:0%;left:0%;height:200px;width:300px">
<div style="border: 2px solid green;position:absolute;top:50%;left:50%;height:50%;width:50%">
</div>
</div>
Или
Другой способ - просто растянуть родительский контейнер, т.е. Div, по его верхним, нижним, левым и правым свойствам. Как это:
<div style="border: 2px solid red;position: absolute;top: 0px;bottom: 0px;left:0px;right:0px;">
<div style="border: 2px solid green;position:absolute;top:50%;left:50%;height:50%;width:50%">
</div>
</div>
Ответ 2
Рассмотрим ваш оригинальный HTML:
html, body {
height: 100%;
}
<div style="position:relative;top:0%;left:0%;height:100%;width:100%">
<div style="position:absolute;top:50%;left:50%;">test</div>
</div>
Ответ 3
См. Ссылку ниже. Я считаю, что у вас будет лучший результат с Fixed, за то, что вы пытаетесь сделать, хотя я все еще не уверен на 100%, я понимаю, что это такое.
http://jsfiddle.net/8q107wvb/1/
body {background:#e9e9e9; color:#202020;}
#wrapper {width:500px; background:#fff; margin:50% auto;}
.centered-content {position: fixed; top: 50%; left: 50%; background:#fff; padding:20px;}