HTMLJQuery неправильно outerWidth() и outerHeight() после изменения размера()
<div class="element">
<p>I want to center this element vertically and horizontally.</p>
</div>
CSS
.element
{
background: #eee;
border: 1px solid #ccc;
font-size: 24px;
margin: 10px;
padding: 20px;
position: absolute;
}
JQuery
jQuery(document).ready(function($) {
var $element = $('.element');
center();
$(window).on('resize', function() {
center();
});
function center() {
var width = $element.outerWidth(true);
var height = $element.outerHeight(true);
console.log(width);
console.log(height);
$element
.stop(true)
.animate({
top: Math.max(0, ($(window).height() - height)/2),
left: Math.max(0, ($(window).width() - width)/2)
});
}
});
Проблема
Если я изменяю размер окна, элемент не центрирован, потому что внешние символыWidth() и outerHeight() ошибочны.
Проблема исчезает после обновления.
Результаты тестирования на Firefox
По умолчанию: Element Размер - 670x134 (хорошо)
768x1024: Элемент Размер - 198x254 (неправильно) - 670x134 (хорошо после обновления)
360x640: каркасные Размер - 198x254 (неправильно) - 360x182 (хорошо после обновления)
Вопрос
Любая идея, почему возникает эта проблема и как ее исправить?
Примечание
Я не хочу, чтобы элемент имеет фиксированную ширину или высоту.