본문 바로가기

UIUX Web Standard/COA Lab's CSS

가시속성을 활용한 서브메뉴

앞서 살펴 본 가시 속성을 활용해서,

메인메뉴에 마우스를 올리면, 서브메뉴가 나오고

메인메뉴와 서브메뉴에서 마우스를 떠나면, 서브메뉴가 사라지도록 함

주요 개념 :

공간의 크기속성 height:0 --> height:auto

가시 속성 : opacity:0 과 overflow:hidden --> opacity :1,  

 


 

 

※ 주의할 점 :

.sub_menu에 가시속성 중 opacity를 0으로 적용했다가, #main_menu>li에 hover하면, opacity:1로 나타나게 함. 

여기에 height:0으로 적용해서, 아예 공간의 크기도 없애 버리는데,

.sub_menu의 하위요소인 li가 블록속성 공간을 차지 하므로,

.sub_menu에 height:0을 주더라도, 자식인 li는 공간이 남아 있게 됨.

따라서, height:0인 .sub_menui요소의 넘치는 부분도 안보이도록 overflow:hidden을 지정해줘야 함

 


<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <title>가상속성을 활용한 서브메뉴</title>

  <style>
  *{box-sizing:border-box;}
   ul{list-style: none;}
   a{color: #fff;text-decoration: none;}
   #main_menu{
		width:760px;
		background: #83c5be;
		text-align: center;
   }
   #main_menu>li{
	display: inline-block;
	padding:10px 0;
	width:90px;
	position: relative;
   }
   #main_menu>li:hover .sub_menu{
	opacity: 1;
	height:auto;
   }
   .sub_menu{
	position: absolute;
	left: -30px;
	padding:0;
	margin:10px;
	opacity:0;
	height: 0;
	overflow:hidden;
	transition:all 1s;
   }
   .sub_menu li{
	width:130px;
	padding:10px 0;
	background: #ffc8dd;
	border-bottom: 1px dotted #fff;
   }
   .sub_menu li:last-child{
	border-bottom: none;
   }
   .sub_menu li:nth-child(2n){
	background:#f72585;
   }
   .sub_menu li:hover{
	background: #fefae0;	
   }
   .sub_menu li:hover a{
	color:#333;
   }


   article{
	width:760px;
	height:400px;
	background: #e9edc9;
   }
  
  </style>
 </head>
 <body>
  <nav>
	<ul id="main_menu">
		<li><a href="#">MENU</a>
			<ul class="sub_menu">
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
			</ul>
		</li>
		<li><a href="#">MENU</a></li>
		<li><a href="#">MENU</a>
			<ul class="sub_menu">
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
				<li><a href="#">submenu</a></li>
			</ul>
		</li>
		<li><a href="#">MENU</a></li>
		<li><a href="#">MENU</a></li>
	</ul>
  </nav>
  <article></article>
 </body>
</html>

 

 

'UIUX Web Standard > COA Lab's CSS' 카테고리의 다른 글

:focus selector - 1  (0) 2021.02.01
multi-column  (0) 2021.02.01
가시속성  (0) 2021.01.29
transform, transition 속성  (0) 2021.01.29
ankor link 2 - 외부 문서 내 특정위치로 이동  (0) 2021.01.29