2013-02-20 2 views
1

3 열 웹 사이트가 있습니다. 외부 열은 고정되어 있고, 중간 열은 유동적입니다. 나는3 열 - 오버플로 요소가있는 가운데 열 유체

<div style="display:table"> 
    <div style="display:table-row"> 
     <div style="display:table-cell"> 
     </div> 
     <div style="display:table-cell"> 
     </div> 
     <div style="display:table-cell"> 
     </div> 
    </div> 
</div> 

(전체 코드에 대한 jsfiddle 참조)

지금은 중간 열에 너무 넓이 될 수있는 요소가 이것을 구현했습니다.

overflow:auto 

이 표시되므로 스크롤 바가 표시됩니다.

편집 :
이 작동하지 않습니다 죄송합니다 : http://jsfiddle.net/WtWCC/
작업 않습니다 크롬 http://jsfiddle.net/WtWCC/2/

설명 : 스크롤까지 "+"에 클릭을 제공 한 예에서
이 나타납니다 (더를 당신은 더 명확하게 문제를 클릭). 스크롤바가있는보기는 내가 좋아하는 것입니다 : 가운데 열이 최대화 된 2 개의 고정 열이 표시됩니다.

이제 브라우저의 크기를 조정하십시오. (또는 jsfiddle 창)

이제 중간 열이 훨씬 커집니다. 오른쪽 열이 숨겨집니다.

누구든지이 문제에 대한 해결책을 알고 있습니까?

미리 감사드립니다.

편집 : 설명 된 동작은 Chrome에 있습니다. IE와 Firefox에서는 Overflow : auto가 전혀 작동하지 않습니다.

+1

데모의 JS 부분이 작동하지 않습니다. 귀하의 대답은 – cimmanon

답변

0

JSFiddle에 문제가있어 미안하지만 도움이되지 않는다면 죄송합니다.

HTML :

<div class="wrap"> 
    <div class="left"> 
    Leftees 
    </div> 
    <div class="right"> 
    Righties 
    </div> 
    <div class="middle"> 
    Middies 
    </div> 
</div> 

CSS :

.wrap{ 
    width:100%; 
    overflow:hidden; 
} 
.left{ 
    float:left; 
    background:red; 
} 
.middle{ 
    overflow:hidden; 
    background:green; 
} 
.right{ 
    float:right; 
    background:yellow; 
} 

jsfiddle

+0

Thx입니다. 나는이 좋은 CSS 디자인을 알고있다. 내가 가진 가장 큰 문제는 HTML의 순서가 올바르지 않다는 것입니다. HTML이 렌더링됨에 따라 (자바 스크립트를 통해 dom을 변경하는 것만으로) 이것을 바꿀 수 없거나 쉽게 변경할 수 없습니다. – JDC

+0

@JDC 좋은 지적입니다. 이 해킹은 HTML 구조에 직접 액세스하여 확실히 제한됩니다. 대신보기의 어떤 블록에 배치 된 콘텐츠를 전환 할 수 있지만 다시 직접 액세스해야하므로 해킹이 더 많이 발생한다고 가정 해 보겠습니다. –

+0

이 작업을 수행하는 유일한 해결책이므로 답변으로 투표했습니다. 나는이 솔루션을 알고 있었지만 여전히 해킹처럼 보였고, 다른 것은 작동하지 않는다면 사용하고 싶다. 내가 시작한 일의 렌더링은 모든 브라우저에서 내 겸허 한 의견 verry 버기에 있습니다. – JDC

관련 문제