2012-06-04 2 views
0

필자는 3 개의 컬럼이있는 반응성 유체 설계 포트폴리오를 보유하고 있습니다. 문제를 정확히 지적하고있는 CSS에 문제가 있습니다.3 Column Fluid Div 디스플레이 글리치 : "Hanging"Individual Divs

행에 정확히 3 개의 항목이 있으면 정상적으로 표시됩니다. 그러나 마지막 항목이 1 열 또는 2 열의 행으로 끝나면 전체 형식이 왜곡됩니다. 이것은 브라우저의 크기를 조정하여 볼 수 있습니다.

이 문제에 대한 CSS 수정을 정확히 알려 주시면 감사하겠습니다.

예제 페이지는 여기에 있습니다 : http://bit.ly/KzfN2g

내가 그러나 내가 잘못 될 수있다,이 문제의 원인입니다 주요 CSS 스타일이라고 생각 :

.mosaic-block-three { 
    margin-right:3%; 
    width:29.3%; 
    background:url("../img/progress.gif") no-repeat scroll center center #F5F5F5; 
    border:1px solid #FFFFFF; 
    box-shadow:0 0 4px 0 #888888; 
    float:left; 
    margin:10px 40px 30px 0; 
    overflow:hidden; 
    position:relative; 
    width:291px; 
} 
+0

Fyi,이 창 크기를 조정하지 않고도 나에게 부러 보인다. 그것은 행 1 벌금, 행 2 벌금, 그리고 행 3에 단지 하나의 항목 있어요. 그럼 임의성. Win7 64 비트에서 Firefox 12 사용하기. – Tom

답변

0

내가 할 수 있었다 간단한 jQuery를 사용하여 페이지로드시 이미지의 높이를 가져오고 CSS에서 높이를 선언 한 다음 윈도우에서 이미지 높이를 가져 와서 CSS로 다시 채 웁니다.

$ j (document) .ready (function() {

// Set portfolio image item height after images load, 

     $j(".mosaic-backdrop img").load(function(){ 
     var portfolioItemHeight = $j(".mosaic-backdrop img").height(); 
     $j(".portfolio-three-item").css("height", portfolioItemHeight); 
     }); 
// reset portfolio image item height each time window is maximized 

     if(screen.width > 1200) { 
      $j(".mosaic-backdrop img").load(function(){ 
      var portfolioItemHeight = $j(".mosaic-backdrop img").height(); 
      $j(".portfolio-three-item").css("height", portfolioItemHeight); 
      }); 

     } 
// reset portfolio image item height each time window is resized 

     $j(window).resize(function() { 
     var portfolioItemHeightReized = $j(".mosaic-backdrop img").height(); 
     $j(".portfolio-three-item").css("height", portfolioItemHeightReized); 
    }); 

    }); 

높이가 제대로 설정되지 않았다는 것을 알게 해주셔서 감사합니다.

0

워, 거룩한 등록 상표 배트맨을 ! 내가 당신이라면 :)하지만 손의 질문에 나는

왜 당신은 단지 하나 개의 항목으로 많은 목록을해야합니까 ...

<sup>&reg;</sup> 

을 넣을까요? 당신은 또한 정의되지 않은이 몇 가지 스타일을 가지고,하지만 난 당신의 가장 큰 문제는 당신이 포함 된 요소가없는 동안 떠내려

<li> 

내에서 항목이 있다고 생각합니다.

플로팅 .portfolio-three-item을 플로팅 한 다음 그 안에 내용을 지워보십시오. 지우기 클래스 또는

<br clear="all" /> 

를 사용하지 않고 비 떠 요소 (내부 부유 요소를 갖는 브라우저를 혼동 내용 중 하나가 떠내려해야하는 것처럼은 보이지 않는다.

+0

감사. 내가 모든 ul, li 태그를 제거하고 왼쪽으로 주 항목 div를 띄웠다 - 그러나 결과는 정확히 동일합니다. 일부 행은 모든 요소를 ​​올바르게 플로팅하지 않습니다. 내가 다른 것을 잃어 버렸는지 다시 볼 수 있니? –

+0

문제는 .portfolio-three-item에서 비롯된 것으로 보입니다. 이 컨테이너 div에는 높이/너비 세트가 없지만 .mosaic-backdrop의 높이 및 너비는 100 %로 설정되어 있습니다. 나는 단지 .portfolio-three-item의 높이를 설정함으로써 그것을 고쳤다. 모바일 및 스크린에서 작동하는 스타일 시트를 만들려고하는 것 같습니다. 백분율 높이가 작동하지 않아 하드 높이를 설정해야합니다. 나는 10em을 사용했다. 그러나 궁극의 크기는 당신까지 달려있다. 당신은 백분율 높이를 얻을 수 있을지도 모르지만 divs의 모든 높이를 본문 또는 심지어 html 수준으로 지정해야합니다. –

+0

스타일 시트에 관해서는 별개의 화면을 만들 수 있습니다. 이 하나의 클래스에 대한 모바일 시트 –