2011-09-21 8 views
2

나는 오늘 뭔가 분명히 놓치고 있습니다. 사람들은 약간의 도움을 부탁드립니다.DIV 내에 숨겨진 DIV의 일부를 표시

다른 DIV 안에 수평 행의 DIV가 있습니다. 세 번째 DIV가 부분적으로 상위 DIV에 의해 숨겨진 것으로 표시되기를 바랍니다. 그러나 그것은 전혀 보이지 않습니다.

.outer { 
    background: #800; 
    height: 90px; 
    width: 300px; 
    overflow: hidden; 
    white-space: nowrap; 
} 
.label { 
    float: left; 
    display: block; 
    background: #888; 
    width: 75px; 
    height: 50px; 
    margin: 10px; 
    padding: 10px; 
    line-height: 50px; 
    font-size: 45px; 
    text-align: center; 
} 

가 여기에 HTML의 :

다음은 CSS의 도움에 대한

<div class="outer"> 
    <div class="label">1</div> 
    <div class="label">2</div> 
    <div class="label">3</div> 
    <div class="label">4</div> 
</div> 

감사합니다!

답변

3

나는 오늘 분명히 뭔가를 놓치고 있습니다. 사람들은 도움을 청합니다. .

누락 된 "명백한"문제는 충분한 수평 공간이 없기 때문에 세 번째와 네 번째 내부의 div이 아래로 떨어지고 있다는 것입니다.

이 문제를 해결하는 가장 간단한 방법은 포함 된 요소 (! 당신이 이미 그것을 가지고) white-space: nowrap으로, display: inline-blockfloat: left에서 전환하는 것입니다 :

예를 들어, 내가 크롬의 개발자 도구를 사용하여 확인하는 경우

http://jsfiddle.net/rGfNY/

+0

좋은 아이디어, defenately 덜 작동하지만 인라인 블록이되지 않는 문제를 제공 (에 일부 IE 버전)? – Sander

+2

하지만, 이미 내 데모에서 설명했습니다 :) – thirtydot

+0

jsFiddle이 느린 것처럼 보입니다. 'display : inline-block; * 디스플레이 : 인라인; zoom : 1'은 이전 버전의 IE에서 수정됩니다. – thirtydot

2

당신은이 숨겨진 외부 사업부의 오버 플로우에 의해 차단 될 것이다 (당신의 외부 DIV보다 더 큰), 새로운 사업부에서 그들을 포장 사업부를 폭을 제공 할 필요가있다.

참고 사항 : 해당 내부 div의 너비가 콘텐츠와 함께 조정되지 않았거나 특별히 높게 설정하거나 콘텐츠를 계산해야하거나 CSS로 하드 코딩 한 것이거나 자바 스크립트를 사용해야합니다. .

HTML :

<div class="outer"> 
    <div class="inner"> 
     <div class="label">1</div> 
     <div class="label">2</div> 
     <div class="label">3</div> 
     <div class="label">4</div> 
    </div> 
</div> 

CSS :

.outer { 
    background: #800; 
    height: 90px; 
    width: 300px; 
    overflow: hidden; 
    white-space: nowrap; 
} 
.inner { 
    width: 460px; 
} 
.label { 
    float: left; 
    display: block; 
    background: #888; 
    width: 75px; 
    height: 50px; 
    margin: 10px; 
    padding: 10px; 
    line-height: 50px; 
    font-size: 45px; 
    text-align: center; 
} 

작업 예 : 나보다 http://jsfiddle.net/f2wpm/

+0

많은 감사, 샌더, 많이 감사하겠습니다. 나는 다른 DIV를 만드는 것을 피하기 때문에 thirtydot의 대답을 받아 들였습니다. – user114671

+1

내 눈에 그것은 당신이 여분의 div를 추가해야 할 시간의 양에 따라 달라집니다. 한 번만 IE에서 작동하도록 CSS에서 해킹을 통해 div를 선택 하겠지만, 물론 조건부 스타일을 사용할 수도 있습니다. IE – Sander

+0

+1에서 작동하길 원합니다. 박람회 포인트! – user114671