2012-08-14 1 views

답변

6

이것은 이상하고 종종 원치 않는 동작이지만 예상됩니다. 본질적으로 요소를 변형하면 새로운 스택 컨텍스트가 생성됩니다.이 컨텍스트는 의사 요소의 경우 더 이상 요소의 뒤에 있지 않을 수 있습니다.

자세한 내용은이 문서를 참조하십시오 : https://daneden.me/2012/04/22/css-transforms-and-z-index/

는 현재이 문제를 해결하는 유일한 방법은 (즉 래퍼 요소를 생성하고 변환) 부모 요소에 새로운 스택 문맥을 생성하는 것입니다. 다음은 예입니다 http://jsfiddle.net/joshnh/GzWnb/

HTML :

<div class="wrapper"> 
    <div id="box"></div> 
</div> 

CSS :

.wrapper { 
    -moz-transform: rotate(10deg); 
    -webkit-transform: rotate(10deg); 
    transform: rotate(10deg); 
} 
#box{ 
    width: 200px; 
    height: 200px; 
    left: 100px; 
    top: 100px; 

    background:blue; 
    position: absolute; 
    &:after{ 
     content: ""; 
     width: 100px; 
     background: orange; 
     height: 100px; 
     position: absolute; 
     left: 120px; 
     top: 120px; 
     z-index: -2!important; 
    } 
} 
+0

그래 내가 연구 할 때 나는 그 기사를 보았다,하지만 난 어쩌면 촬영되어 있다고 기대했다 보살핌. 나는 그것이 "예기하다"는 것을 알고있다. 그러나 그것은 거의 예상하지 않는다. "새로운"스태킹 컨텍스트를 만들어야한다는 것을 이해하지만 스태킹 컨텍스트는 전적으로 기존 스태킹 컨텍스트를 기반으로해야합니다. 그렇지 않은 경우, 사용자가 상기 새 스태킹 컨텍스트를 수정할 수있는 방법이 있어야합니다. – Jason

+0

네, 동의합니다. 그 결정이 내려진 이유를 완전히 이해하지 못하고 그 주위에 방법이 있기를 바란다. 기본 요소의 z- 인덱스를 설정하면 (현재 완료 한 것처럼) 불투명도를 1 미만으로 설정하는 것과 같은 일을합니다. – joshnh

+0

가능한 해결책을 포함하도록 내 대답을 업데이트했습니다. – joshnh

관련 문제