2011-09-28 9 views
7

오버플로 자동으로 절대 위치 div가 있습니다. 이 div 안에 또 다른 절대 위치 div가 있습니다. 내 문제는이 자식 div 오버플로 인해 잘라옵니다. 오버플로가 설정되지 않은 것처럼 컨테이너 div에서 벗어나기를 원합니다. Z- 인덱스 설정을 시도했지만 도움이되지 않습니다. 내가 무엇을 할 수 있을지? 당신은 몇 가지 요소가 부모가 아닌 일부 요소를 오버 플로우하지하려면오버플로 자동으로 절대 위치 지정 div 자식 절대 div가 잘리지 않게 함

HTML

<div class="parent"> 
    <div class="child"></div> 
</div> 

CSS

.parent { 
    position:absolute; 
    z-index:0 
    overflow:auto; 

    width:400px; 
    height:400px; 

    border:1px solid #000; 
} 

.child { 
    poisiton:absolute; 
    z-index:1 

    width:300px; 
    height:450px; 

    border:1px solid #f00; 
} 
+1

귀하의 다른 솔루션은 차단하지 않도록 해당 컨테이너의 외부 사업부를 가지고 가고, 그들에게 새로운 용기의 내부 모두를 넣어하는 것입니다 +1. [jsfiddle] (http://jsfiddle.net)이 인기가 있습니다. – Alex

+1

나는 그렇게했다. 보시다시피 자식 div는 부모로부터 나오지 않습니다. – user969622

+1

스크롤을 원하지 않으면 왜'overflow : auto'를 사용하고 있습니까? – Jacob

답변

1

, 당신은 현재의 아이를 배치 나을 것 현재 부모 외부의 div. 그냥 절대적으로 위치하는 동료로 만드십시오.

+0

그렇다면 부모 div의 참조 지점에서 어떻게 표시 할 수 있습니까? 예를 들어, 부모 div 안에 있고 텍스트 옆에 팝업이있는 경우 div가 부모 div 외부로 이동하면 자식 요소가 있으면 해당 텍스트 옆에 어떻게 팝업이 생깁니 까? 더 이상 옆에 있지 않습니까? – user969622

+0

콘텐츠의 나머지 부분과 함께 스크롤하고 튀어 나오길 원한다는 의미입니까? 그 효과를 얻으려면 JavaScript가 필요하다고 생각합니다. – Jacob

+0

jQuery를 사용하는 경우, 소비 할 수있는 스크롤 이벤트가 있습니다. 그런 다음 스크롤 위치를 계산하고 그에 따라 두 번째 div를 이동해야합니다. http://api.jquery.com/scroll/을 참조하십시오. – Jacob

2

다른 방법으로 플로트를 지울 수 있는지 확인하십시오. CSS를 overflow: visible으로 변경하는 것은 좋은 해결책입니다.

<div class="container"> 
    <div class="parent"> 
    </div> 
    <div class="child"> 
    </div> 
</div> 

CSS :

.container { 
    /* apply positioning from .parent */ 
} 
.parent { 
    position: absolute; 
    top: 0; 
    left: 0; 
} 
.child { 
    /* apply positioning from .child */ 
} 
관련 문제