У меня проблема с вертикальным центрированием простого div. Он всегда дает margin-top="0px"
Вертикально центр a div
Вертикальное центрирование такое же, как и горизонтальное центрирование, и оно отлично работает.
(необходимо центрировать его в JavaScript для дальнейшей разработки)
Любые решения?
$(document).ready(function() {
var width1 = $("body").width();
var width2 = $("#main").width();
var height1 = $("body").height();
var height2 = $("#main").height();
var centerw = (width1 - width2)/2;
var centerh = (height1 - height2)/2;
$("#main").css("margin-left", centerw + "px");
$("#main").css("margin-top", centerh + "px");
});
$(window).resize(function() {
var width1 = $("body").width();
var width2 = $("#main").width();
var height1 = $("body").height();
var height2 = $("#main").height();
var centerw = (width1 - width2)/2;
var centerh = (height1 - height2)/2;
$("#main").css("margin-left", centerw + "px");
$("#main").css("margin-top", centerh + "px");
});
* {
margin: 0;
padding: 0;
border: 0;
float: left;
width: 100%;
position: relative;
text-align: center;
overflow: hidden;
}
#main {
width: 400px;
height: 600px;
background-color: gray;
}
<body>
<div id="main">
</div>
</body>
Вы знаете, что можете передать объект ['.css()'] (http://api.jquery.com/css/#css-properties), следовательно, установив несколько значений CSS за один снимок, правильно? – D4V1D
Protip: 'margin-left: auto; margin-right: auto' будет центрировать блок. –
как вы разделяете 2 значения css при использовании нескольких? Как .css («margin-top», «value1», «margin-left», «value2»)? – DNA