답변 4개 / 댓글 9개
채택된 답변
+20 포인트
걍 동일하게 하시면 될 듯...
다만, 사이가 margin으로 벌어긴 구간에 허버 시엔 작동 안 하니, js 이용하셔야 할 듯...
댓글로는 SyntaxHighlight 적용이 안되서,
답글로 한번 더 남겨드려봅니다 ㅎㅎ 이렇게 한번 해보세요!
Copy
<style>
.nav {position:relative;}
.nav .menu {background:#000;}
.nav .menu ul:after {content:''; display:block; clear:both;}
.nav .menu .menu_li {float:left; width:200px; height:50px; line-height: 50px; text-align:center;}
.nav .menu .menu_li span {position:relative; z-index:3; color:#fff;}
.nav .menu .menu_li .bg {display:none; position:absolute; top:0; left:0; width:100%; height:100%; z-index:2;}
.nav .menu .menu_li:hover .bg {display:block; background:#ff0000;}
</style>
<div class="nav">
<div class="menu">
<ul>
<li class="menu_li">
<span>메뉴1</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴2</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴3</span>
<div class="bg"></div>
</li>
</ul>
</div>
</div>
css로 상위를 찾아가는건 불가능한걸로알고있습니다.. > 부호로 자식은 내려가두요
약간의 편법을 쓰면 됩니다.
menu 클래스 안에
예)ov 클래스를 하나 더 생성하시고,
menu hover 시에 ov 가 display:block 되고,
position:absolute 이용해서 nav 위치로 이동시키고
background 로 덮으면 됩니다. z-index 로 우선순위 잡아주시구요!
이해되셨을까요? ^^
답변에 대한 댓글 5개
@sinbi
지금 한번 해봤습니다!
메뉴명을 감싼 후에 우선순위를 주었어야했는데,
위에 답은 제가 좀 성급했네요 ㅠㅠ
<style>
.nav {position:relative;}
.nav .menu {background:#000;}
.nav .menu ul:after {content:''; display:block; clear:both;}
.nav .menu .menu_li {float:left; width:200px; height:50px; line-height: 50px; text-align:center;}
.nav .menu .menu_li span {position:relative; z-index:3; color:#fff;}
.nav .menu .menu_li .bg {display:none; position:absolute; top:0; left:0; width:100%; height:100%; z-index:2;}
.nav .menu .menu_li:hover .bg {display:block; background:#ff0000;}
</style>
<div class="nav">
<div class="menu">
<ul>
<li class="menu_li">
<span>메뉴1</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴2</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴3</span>
<div class="bg"></div>
</li>
</ul>
</div>
</div>
지금 한번 해봤습니다!
메뉴명을 감싼 후에 우선순위를 주었어야했는데,
위에 답은 제가 좀 성급했네요 ㅠㅠ
<style>
.nav {position:relative;}
.nav .menu {background:#000;}
.nav .menu ul:after {content:''; display:block; clear:both;}
.nav .menu .menu_li {float:left; width:200px; height:50px; line-height: 50px; text-align:center;}
.nav .menu .menu_li span {position:relative; z-index:3; color:#fff;}
.nav .menu .menu_li .bg {display:none; position:absolute; top:0; left:0; width:100%; height:100%; z-index:2;}
.nav .menu .menu_li:hover .bg {display:block; background:#ff0000;}
</style>
<div class="nav">
<div class="menu">
<ul>
<li class="menu_li">
<span>메뉴1</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴2</span>
<div class="bg"></div>
</li>
<li class="menu_li">
<span>메뉴3</span>
<div class="bg"></div>
</li>
</ul>
</div>
</div>
답변을 작성하려면 로그인이 필요합니다.