1

是否可以在不使用固定高度的元素的情况下将元素的边距顶部设置为其高度的一半?

4

2 回答 2

2

演示:http: //jsfiddle.net/6qsvt/

jQuery

    $(function() {
    // vertical align function
    $.fn.vAlign = function() {
        return this.each(function(i){
            var ah = $(this).height();
            var ph = $(this).parent().height();        
            var mh = Math.ceil((ph-ah) / 2); //var mh = (ph - ah) / 2;
            $(this).css('margin-top', mh);
            console.log(mh);
        });
    };

    $('#i').vAlign();

});
于 2012-05-31T14:52:50.047 回答
1

Calc 可能会对您有所帮助,但它还只是一个草稿。检查以下链接:计算

将它与 attr 结合使用,您可能会做一些花哨的事情,例如:

margin-top: calc(50% * (attr(width))
于 2012-05-31T14:53:49.753 回答