position은 마치 '포스트잇'을 떼어서 원하는 위치에 붙이는 것과 같다.
그래서 position을 적용하는 순간 해당 요소는 위치(0,0)에 홀로 가서 붙는다.
<style>
ul{ position : relative; } /*부모 요소*/
li{ position : absolute; left:180px; top:50px } /*움직일 요소*/
</style>
z-index는 position을 적용하여 어떠한 요소를 위치시킨 상황에서,
두개 이상의 요소가 서로 겹치거나 한 요소가 다른 요소를 덮으려는 상황에서 사용한다. z-index속성이 없을 땐 기본값으로 0이 들어가며 큰 숫자가 작은 숫자를 덮는다. 확실히 하기 위해 100정도의 숫자를 사용하기도.
값이 서로 같을경우 나중에 오는 태그가 더 높게 출력된다.
{ z-index : 2; } / { z-index : 1; }
position을 이용한 서브메뉴 만들기
<body>
<div id="wrap">
<header>
<h1 class="text-center">서브메뉴 만들기</h1>
<nav>
<ul class="gnb">
<li>
<a href="#">main1</a>
<ol class="lnb">
<li><a href="#">submenu1</a></li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
</ol>
</li>
<li>
<a href="#">main2</a>
<ol class="lnb">
<li><a href="#">submenu1</a></li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
</ol>
</li>
<li>
<a href="#">main3</a>
<ol class="lnb">
<li><a href="#">submenu1</a></li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
<li><a href="#">submenu4</a></li>
</ol>
</li>
<li>
<a href="#">main4</a>
<ol class="lnb">
<li><a href="#">submenu1</a></li>
<li><a href="#">submenu2</a></li>
<li><a href="#">submenu3</a></li>
<li><a href="#">submenu4</a></li>
</ol>
</li>
</ul>
</nav>
</header>
<section>이미지</section>
<footer>
<address>©Designde by Roong</address>
</footer>
</div>
</body>
.gnb {display : flex;}
.gnb {justify-content:space-between;}
li{box-sizing : border-box;}
를 함께 적용a{display:block; height:50px; line-height:50px; text-align:center;}
.gnb> li{position:relative;}
li:hover> a{background-color:seagreen;}
.lnb { display:none; //커서를 올렸을 때 보이기 위해//
position:absolute;
lift:-1px; //상위메뉴에 설정한 border:1px 때문에 자식요소가 밀려나서//
top:50px; //li 높이만큼 설정//
width:100%; //absolute를 적용하면 width가 컨텐츠 양만큼 작아지기 때문에//
border:1px solid black; }
li:hover> .lnb{ display : block; }