创建';死点';作为jQuery插件

创建';死点';作为jQuery插件,jquery,plugins,position,center,css-position,Jquery,Plugins,Position,Center,Css Position,我正在开发非常非常简单的jQuery插件,它可以简单地将元素的位置更改为浏览器窗口的中心(水平和垂直)。这通常被称为“死中心” jQuery.fn.dead_center = function() { var element; element = this; $(element).css({ position: 'absolute', top: ($(window).height() - $(this).outerHeight())

我正在开发非常非常简单的jQuery插件,它可以简单地将元素的位置更改为浏览器窗口的中心(水平和垂直)。这通常被称为“死中心”

jQuery.fn.dead_center = function() {

    var element;

    element = this;

    $(element).css({
        position: 'absolute',
        top: ($(window).height() - $(this).outerHeight()) / 2,
        left: ($(window).width() - $(this).outerWidth()) / 2
    });

}
然后我有
,里面有
,如下所示:

<div class="dead_center">
    <h1>Foo and bars.</h1>
</div>
$(function() {

    $('.dead_center').dead_center();

});
问题是,
$('.dead_center')
仅位于y轴的中心。不是x轴

为什么会发生这种情况?我看不出我的错误


谢谢你的建议

div的默认值为100%宽度。(实际上是
auto
,但这就是
auto
对块级元素的工作方式)。所以,它是水平居中的。它只是占据了整个水平区域。给
div
一个宽度,您将看到