2014-07-17 5 views
0

나는 순수한 IE 드롭 다운 메뉴가 있는데, IE7에 다시 지원해야합니다. 내 버그는 사용자가 마우스를 링크 아래로 이동하면 하위 메뉴가 사라진다는 것입니다.IE7 드롭 다운이 사라짐 - 위치에 의해 고정되지 않음 : 부모와의 관계가

GIF illustration

나는 IE7 스택 상황에 대해 읽고 그리고 그것은 내가 사라지고 하위 메뉴를 다루는 내 메뉴의 부모 요소에 { position: relative; z-index: (something large); }을 설정 할 수 있어야한다 나의 이해이다.

이것은 저에게 효과적이지 않으며 어쨌든 메뉴보다 높은 z- 색인을 가진 내 페이지 콘텐츠에서 아무것도 찾을 수 없습니다. (한 가지는 아무것도 실제로 메뉴 위에 그려지지 않습니다.) 단서가 있습니까?

<div class="mainmenu"> 
    <div class="row"> 
    <a href="/" class="pull-left"> 
     <img src="logo.png" class="logo"> 
    </a> 
    <ul class="nav-main"> 
     <li><a href="/">Item 1</a></li>    
     <li><a href="/">Item 2</a></li>    
     <li><a class="dropdown">Item 3 </a> 
     <ul class="nav-sub"> 
      <li><a href="#">Sub-Item 1</a></li> 
      <li><a href="#">Sub-Item 2</a></li> 
      <li><a href="#">Sub-Item 3</a></li> 
     </ul> 
     </li>    
     <li><a class="dropdown">Item 4 </a> 
     <ul class="nav-sub"> 
      <li><a href="#">Sub-Item 1</a></li> 
      <li><a href="#">Sub-Item 2</a></li> 
      <li><a href="#">Sub-Item 3</a></li> 
     </ul> 
     </li> 
    </ul> 
    </div> 
</div> 

<div class="content"> 
    <!-- Then some page content --> 
</div> 

CSS의 (색 제거) : 여기 (또는 Codepen 참조) 내 마크 업입니다

.mainmenu { 
    position: relative; 
    top: 0; 
    z-index: 597; 
    width: 100%; 
    height: 66px; 
    margin: 0; 
    padding: 0 22px; 
} 
.mainmenu .logo { 
    height: 39px; 
    margin: 16.5px 0; 
    vertical-align: middle; 
} 
ul.nav-main { 
    margin: 0; 
    float: right; 
    padding: 0 20px; 
    position: relative; 
    top: 0; 
} 
ul.nav-main a, 
ul.nav-main li { 
    -webkit-transition: all 0.1s linear; 
    -moz-transition: all 0.1s linear; 
     -o-transition: all 0.1s linear; 
      transition: all 0.1s linear; 
} 
ul.nav-main li { 
    list-style-type: none;  
    padding: 22px 8px; 
    float: left; 
} 
ul.nav-main li a, 
ul.nav-main li span { 
    display: block; 
} 
ul.nav-main li:hover ul { 
    visibility: visible; 
    opacity: 1; 
} 
ul.nav-main ul.nav-sub { 
    visibility: hidden; 
    opacity: 0; 
    position: absolute; 
    padding: 0; 
    margin: 0; 
    top: 66px; 
} 

ul.nav-main ul.nav-sub li { 
    display: block; 
    float: none; 
    padding: 0; 
    outline: 1px solid #aaa; 
} 
ul.nav-main ul.nav-sub li a, 
ul.nav-main ul.nav-sub li span { 
    display: block; 
    padding: 11px; 
} 

어떤 도움을 주시면 감사하겠습니다.

+0

나는 IE7은'Z-index'을 지원 믿지 않는 IE7
에 완벽하게 나를 위해 작동합니다. 체크 아웃 [Caniuse.com] (http://caniuse.com/#search=z-index) – Jmh2013

+0

감사합니다 Fourthmeal,하지만 그 Z - 인덱스라고하고 항상 지원되었습니다 믿습니다. 불행히도, [기발한] (http://richa.avasthi.name/blog/2008/01/ie7-lessons-learned/)입니다. 당신이 옳다면 –

+0

아빠. [이] (http://stackoverflow.com/questions/1287439/ie7-z-index-layering-issues) 질문에 좋은 정보가있는 것 같습니다. 어쩌면 그것은 당신을 도울 것입니다. – Jmh2013

답변

0
ul.nav-main ul.nav-sub { 
    visibility: hidden; 
    opacity: 0; 
    position: absolute; 
    padding: 0; 
    margin: 0; 
    top: 100%; 
} 

그것은
codepen