2013-02-19 2 views
1

나는 항상 같은 높이가되고 싶은 몇 개의 열 (div s)을 가지고 있습니다.모든 열을 동일한 높이로 설정하려면 어떻게해야합니까?

저는 Zurb Foundation을 사용하고 있기 때문에 레이아웃이 이와 같아서 div을 다른 사람 안에 넣을 수는 없습니다.

<div class="row equalheight"> 
    <div class="three columns"> ... </div> 
    <div class="three columns"> ... </div> 
    <div class="three columns"> ... </div> 
    <div class="three columns"> ... </div> 
</div> 

아마 CSS 쉽게 될 수 없습니다,하지만 난 모든 열을 자동적으로 같은 높이를 같게 만들 수있는 방법?

아래의 jquery, solution을 사용하여이 문제를 해결했습니다.

+1

원 재단의 반응이 느껴지지 않는 이유는 무엇입니까? – Jack

+0

좋은 점은 크기가 중단 점을 통과 할 때이 기능을 비활성화하는 방법이 필요합니다. –

+0

jQuery 응답을 허용 가능한 것으로 게시 된 것으로 보는 것이 가치가있는 것은 무엇인지 알 수 없습니다. 사용자가 JS를 사용 중지하면 어떻게됩니까? jQuery가 가장 쉬운 방법 인 반면에 순수한 CSS 방법이 "올바른"대답 인 것처럼 보입니다. – JM4

답변

2

eureka! 순간을 보냈을 때 스스로 답을 찾아 냈고 커뮤니티의 이익을 위해 나눌 것이라고 생각했습니다.

요소의 children을 반복하고 가장 큰 크기를 변수에 저장 한 다음이 크기를 모든 children 요소로 설정했습니다.

이벤트를 창 loadresize 이벤트에 바인딩했습니다.

<script> 
function equalheight() {  
    $('.equalheight').each(function(index) { 
     var maxHeight = 0; 
     $(this).children().each(function(index) { 
      if($(this).height() > maxHeight) 
       maxHeight = $(this).height(); 
     }); 
     $(this).children().height(maxHeight); 
    });  
} 

$(window).bind("load", equalheight); 
$(window).bind("resize", equalheight); 
</script> 

완벽하게 작동합니다! 다음 웹 사이트 밖으로

0
+1

이 링크를 보았을 때, 기초와 함께 사용하기에는 너무 성급한 데, 배경을 사용하여 열을 가짜로 만들거나 구조를 너무 많이 변경해야했습니다. –

+1

아 좋아. 나는 일반적으로 css-tricks가 작동하는 것들을위한 좋은 웹 사이트라는 것을 알게된다. 나는 잠이 들기 시작합니다. 다른 누군가가 조금 더 짧은 대답을 내놓기를 바랍니다. 행운을 빕니다! – James

+0

@AdamKDean 이것은 왜 당신이 보았던/시도했는지를 질문의 일부로 보여주는 정말 좋은 아이디어입니다. 그래서 당신은 이미 보았거나 시도한 것을 포함하는 답변을 얻지 못합니다. – cimmanon

0

마크 업을 수정하지 않고,이 동일한 높이 열을 만드는 방법에 대해 갈 수있는 가장 간단한 방법은 다음과 같습니다

http://jsfiddle.net/Nu5KN/

div.equalheight { 
    display: table; 
    width: 100%; /* optional */ 
} 

div.equalheight .columns { 
    display: table-cell; 
} 
+1

이것은 보통 작동하지만, 기초에서는 원하는 효과가없는 것 같습니다. –

+0

주 :'display : table-cell;'은 TheCarver

관련 문제