2016-11-06 3 views
0

Z- 인덱스와 내 햄버거 메뉴를 고민하고

body { 
 
    background-color: #313449; 
 
    font-family: 'Open Sans', sans-serif; 
 
} 
 
#menu-toggle { 
 
    z-index: 1; 
 
    } 
 
    /* Hidden Checkbox */ 
 
    #menu-toggle input { 
 
    opacity: 0; 
 
    width: 40px; 
 
    height: 40px; 
 
    z-index: 2; 
 
    /* checkbox on top */ 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    } 
 
    #menu-toggle input:checked { 
 
    transition: all 0.3s ease; 
 
    } 
 
    /* Hamburger */ 
 
    #menu-toggle span { 
 
    display: block; 
 
    width: 30px; 
 
    border: #ffffff 2px solid; 
 
    margin-top: 5px; 
 
    border-radius: 2px; 
 
    transition: all 0.3s ease; 
 
    transform-origin: 0 0; 
 
    } 
 
    #menu-toggle input:checked ~ span { 
 
    /* all bars - top bar */ 
 
    transform: rotate(45deg) translate(-1px, -3px); 
 
    border-color: #000000; 
 
    } 
 
    #menu-toggle input:checked ~ span:nth-child(3) { 
 
    /* middle bar */ 
 
    transform: scale(0, 0); 
 
    opacity: 0; 
 
    } 
 
    #menu-toggle input ~ span:nth-child(4) { 
 
    /* bottom bar */ 
 
    transform-origin: 0 100%; 
 
    } 
 
    #menu-toggle input:checked ~ span:nth-child(4) { 
 
    transform: rotate(-45deg) translate(0, 2px); 
 
    } 
 
    /* Menu Content */ 
 
    #menu-toggle input:checked ~ #menu { 
 
    /* display menu */ 
 
    left: 0; 
 
    } 
 
    #menu-toggle #menu { 
 
    background-color: grey; 
 
    background-color: rgba(255, 255, 255, 1); 
 
    width: 100px; 
 
    height: auto; 
 
    padding: 30px 30px; 
 
    text-align: center; 
 
    position: absolute; 
 
    top: 0; 
 
    left: -160px; 
 
    margin-top: 0; 
 
    transition: all 0.3s ease; 
 
    } 
 
    #menu-toggle li { 
 
    list-style: none; 
 
    margin: 30px 0; 
 
    } 
 
    #menu-toggle a li { 
 
    color: #000000; 
 
    text-decoration: none; 
 
    transition: color 0.3s ease; 
 
    } 
 
    #menu-toggle a li:hover { 
 
    color: red; 
 
    transition: color 0.3s ease; 
 
    }
<nav role="navigation"> 
 
    <div id="menu-toggle"> 
 
    <input type="checkbox" /> 
 
    <span></span> 
 
    <span></span> 
 
    <span></span> 
 

 
    <ul id="menu"> 
 
     <a href="#"> 
 
     <li>Home</li> 
 
     </a> 
 
     <a href="#"> 
 
     <li>Contact</li> 
 
     </a> 
 
     <a href="#"> 
 
     <li>Sign in</li> 
 
     </a> 
 
    </ul> 
 
    </div> 
 
</nav> 
 

 
<section> 
 
    <h1>Title</h1> 
 
    <p> 
 
    Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus. Nam commodo suscipit quam. Donec sodales sagittis magna. 
 
    <br /> 
 
    <br />Nulla neque dolor, sagittis eget, iaculis quis, molestie non, velit. Donec vitae sapien ut libero venenatis faucibus. In hac habitasse platea dictumst. 
 
    <br /> 
 
    <br />Cras ultricies mi eu turpis hendrerit fringilla. Morbi mollis tellus ac sapien. Nam commodo suscipit quam. 
 
    <br /> 
 
    <br />Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Phasellus magna. Phasellus nec sem in justo pellentesque facilisis. 
 
    </p> 
 
</section>

안녕,

햄버거 메뉴. 그것은 # 메뉴 div 아래에 숨겨져 있으며 이유를 찾을 수 없습니다. 내 스팬에 z- 인덱스를 시도했지만 작동하지 않습니다.

내가 뭘 잘못하고 있니?

제 2 스팬과 제 3 스팬이 n 번째 자녀 (3)과 (4) 인 이유를 이해할 수 없습니까? 이런 식으로 일하고 있지만 (2)와 (3)이 아닌 이유를 알 수 없습니다.

감사합니다.

+0

u는 당신이 원하는 것을 정확히 그것을 무엇인지 설명해 할 수 있습니까? – mrid

+0

햄버거를 클릭하면 십자가 '닫기 아이콘'이되고 흰색 메뉴 뒤에 나타납니다. 그것은 앞에 있어야합니다. – Tom

+0

는'#-menu-toggle span' 요소에'z-index : 10000'을 설정합니다. 문제를 해결할 것입니다. 펜을 확인하십시오 [http://codepen.io/anon/pen/bBNRYg](http://codepen.io/anon/pen/bBNRYg) – Manjunath

답변

0

범위에 position:relativez-index:1을 추가하십시오.

body { 
 
    background-color: #313449; 
 
    font-family: 'Open Sans', sans-serif; 
 
} 
 
#menu-toggle { 
 
    z-index: 1; 
 
    } 
 
    /* Hidden Checkbox */ 
 
    #menu-toggle input { 
 
    opacity: 0; 
 
    width: 40px; 
 
    height: 40px; 
 
    z-index: 2; 
 
    /* checkbox on top */ 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    } 
 
    #menu-toggle input:checked { 
 
    transition: all 0.3s ease; 
 
    } 
 
    /* Hamburger */ 
 
    #menu-toggle span { 
 
    display: block; 
 
    width: 30px; 
 
    border: #ffffff 2px solid; 
 
    margin-top: 5px; 
 
    border-radius: 2px; 
 
    transition: all 0.3s ease; 
 
    transform-origin: 0 0; 
 
    position:relative; 
 
    z-index:1; 
 
    } 
 
    #menu-toggle input:checked ~ span { 
 
    /* all bars - top bar */ 
 
    transform: rotate(45deg) translate(-1px, -3px); 
 
    border-color: #000000; 
 
    } 
 
    #menu-toggle input:checked ~ span:nth-child(3) { 
 
    /* middle bar */ 
 
    transform: scale(0, 0); 
 
    opacity: 0; 
 
    } 
 
    #menu-toggle input ~ span:nth-child(4) { 
 
    /* bottom bar */ 
 
    transform-origin: 0 100%; 
 
    } 
 
    #menu-toggle input:checked ~ span:nth-child(4) { 
 
    transform: rotate(-45deg) translate(0, 2px); 
 
    } 
 
    /* Menu Content */ 
 
    #menu-toggle input:checked ~ #menu { 
 
    /* display menu */ 
 
    left: 0; 
 
    } 
 
    #menu-toggle #menu { 
 
    background-color: grey; 
 
    background-color: rgba(255, 255, 255, 1); 
 
    width: 100px; 
 
    height: auto; 
 
    padding: 30px 30px; 
 
    text-align: center; 
 
    position: absolute; 
 
    top: 0; 
 
    left: -160px; 
 
    margin-top: 0; 
 
    transition: all 0.3s ease; 
 
    } 
 
    #menu-toggle li { 
 
    list-style: none; 
 
    margin: 30px 0; 
 
    } 
 
    #menu-toggle a li { 
 
    color: #000000; 
 
    text-decoration: none; 
 
    transition: color 0.3s ease; 
 
    } 
 
    #menu-toggle a li:hover { 
 
    color: red; 
 
    transition: color 0.3s ease; 
 
    }
<nav role="navigation"> 
 
    <div id="menu-toggle"> 
 
    <input type="checkbox" /> 
 
    <span></span> 
 
    <span></span> 
 
    <span></span> 
 

 
    <ul id="menu"> 
 
     <a href="#"> 
 
     <li>Home</li> 
 
     </a> 
 
     <a href="#"> 
 
     <li>Contact</li> 
 
     </a> 
 
     <a href="#"> 
 
     <li>Sign in</li> 
 
     </a> 
 
    </ul> 
 
    </div> 
 
</nav> 
 

 
<section> 
 
    <h1>Title</h1> 
 
    <p> 
 
    Vestibulum purus quam, scelerisque ut, mollis sed, nonummy id, metus. Nam commodo suscipit quam. Donec sodales sagittis magna. 
 
    <br /> 
 
    <br />Nulla neque dolor, sagittis eget, iaculis quis, molestie non, velit. Donec vitae sapien ut libero venenatis faucibus. In hac habitasse platea dictumst. 
 
    <br /> 
 
    <br />Cras ultricies mi eu turpis hendrerit fringilla. Morbi mollis tellus ac sapien. Nam commodo suscipit quam. 
 
    <br /> 
 
    <br />Vestibulum turpis sem, aliquet eget, lobortis pellentesque, rutrum eu, nisl. Phasellus magna. Phasellus nec sem in justo pellentesque facilisis. 
 
    </p> 
 
</section>

+0

예, 그것은'position : relative;'! 감사 ! – Tom

관련 문제