<nav class="menu"> <ul> <li> <a href="#">메뉴 버튼</a> </li> <li> <a href="#">카카오</a> </li> <li> <a href="#">다음</a> </li> </ul> </nav>
CSSbody,html { margin: 0; padding: 0;}
ul앞에 점 없애기ul{ list-style: none;}
a에 언더라인없애고 색지우기a{ color: #000000; text-decoration: none;}
ul,li정렬하기.menu ul{ overflow: hidden; background-color: pink;} .menu li{ /*display: inline-block;*/ float: left; width: 100px; height: 50px; background-color: yellow; border: solid 1px red;
display:inline-block을 사용하면 중간중간 공백이생김float로 정렬ul 에 background-color만 넣으면 자식값이 float로 인해서 3차원값이라 height를 못땡겨옴 그래서 overflow:hidden으로 해결float속성이 밖에 영향을 못미치게해서 가능하다고 이해하시면 될 것 같아요. 하지만 이런 방법들은 현재로 해결방법이 없을 때 사용하는 일종의 트릭이라 꼭 논리적인 이유가 있지는 않습니다 :)ul이 height의 50px과 border값 2px을 가져와서 52px이됨li에 추가 csstext-align: center; line-height: 50px;
text-align으로 x축 기준 중앙으로 텍스트를 넣음line-heigt를 사용하는 보통 height랑 동일값을 넣으면 가운데로감, 폰트에 따라 다를수도있는데 이건 눈대중으로 height의 값이 없는경우엔 어떻게 하느냐padding-top: 15px; padding-bottom: 15px;
padding을 이용해서 위아래에 공간을 만들어준다.a태그가 작동을 안하니까 작동을 시킬려면.menu li a{ display: block; text-align: center; padding-top: 15px; padding-bottom: 15px;}
a를 지정해서 display를 block으로 해준다.text-align,padding은 위에서 지우고 여기에 넣는다..menu li a:hover{ color: blue;}
ul부분에서 겹치는 border부분 해결해보기border-top:solid 1px red; border-bottom: solid 1px red; border-left: solid 1px red; /*border: solid 1px red;*/
border를 한번만 쓰지말고 top,bottom,left`를 각각 지정해준다..menu li:last-child{ border-right: solid 1px red;}
overflow:hidden부분