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はあなたを助けるかもしれませんが、それはまだドラフトです。次のリンクを確認してください:calc

それをattrと組み合わせると、次のような凝ったことをすることができます。

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