2012-09-08 8 views

答えて

46

あなたはjQueryのを使用してそれを行うことができます。

boxes = $('.well'); 
maxHeight = Math.max.apply(
    Math, boxes.map(function() { 
    return $(this).height(); 
}).get()); 
boxes.height(maxHeight); 

をここに例を示しますhttp://jsfiddle.net/DVnZ6/3/

+0

それは素晴らしいです。 CSSでこれを行う方法はありませんか? – DaveR

+2

@DaveR短い答え:いいえ。長い答え:あなたは固定された高さを使うことができます。あるいは、divに分かっているボックス数が分かっていれば、高さのパーセンテージ(100/N)を使用しますが、同じことではありません。ブートストラップはそれ自体でjQueryを使用しています; –

+1

@DaveR別のオプションがありますが、多くのdivがテーブル行のように見えるようにしたい場合にのみ機能します:http://jsfiddle.net/DVnZ6/2/ –

-3

あなたが100%にスパンの高さを設定し、行の高さを設定した場合固定値にすると、すべてコンテナの高さに一致します。

もちろん、予想される列の高さを知る必要がありますが、それはjsフリーソリューションです。

+1

100%の高さに設定することはできませんブロック要素上にある。 –

1

ほとんどの場合、コンテンツの高さは解像度によって異なり、オーバーフローしたテキストのような望ましくないデザイン問題が発生するため、resizeイベントをこのコードに追加する必要があります。

ここjsFiddle http://jsfiddle.net/o4w7tjtz/

ヒントにデモをチェック

jQuery(function() { 

    equalMaxWidth = 500; /* Customize viewport width - for resolutions below this number, the height equalizing will not work */ 
    boxes = jQuery('.well'); 

    boxes.removeAttr('style'); 
    if(jQuery(window).width() > equalMaxWidth){ 
     equalBoxHeights(boxes); 
    }; 

    window.onresize = function() { 
     boxes.removeAttr('style'); 
     console.log(jQuery(window).width()); 
     if(jQuery(window).width() > equalMaxWidth){ 
      equalBoxHeights(boxes); 
     }; 
    }; 
}); 

function equalBoxHeights(boxes) { 
    maxHeight = Math.max.apply(
      Math, boxes.map(function() { 
       return jQuery(this).height(); 
      }).get()); 
    boxes.height(maxHeight); 
} 

同様

をリサイズサポートするコードのより完全なバージョンです:第三の縦枠のサイズを変更してみてください(周り500pwに等しい高さに気づいたが、幅?)

0

私はこの問題を反応的な方法で解決する簡単な方法があります:

//Make every Tile the same height(depending on the highest in row, no matter whats inside) 

$(document).ready(function() { 
    var boxes = $('.well'); 

    //Set the Height as in the example above on page Load 
    setHeight(); 

    // On viewportchange reset the height of each Element and again use the above example to set the heights 
    $(window).resize(function() { 
     boxes .css('height', 'auto'); 
     setHeight(); 
    }); 

    function setHeight() { 
     var maxHeight = Math.max.apply(
       Math, boxes.map(function() { 
        return $(this).height(); 
       }).get()); 
     boxes.height(maxHeight); 
    } 

}); 
関連する問題