210706
강의
- 2:46:04부터
1. 실습
1. 메뉴 만들어보기
<nav class="menu">
<ul>
<li>
<a href="#">메뉴 버튼</a>
</li>
<li>
<a href="#">카카오</a>
</li>
<li>
<a href="#">다음</a>
</li>
</ul>
</nav>
- 기본적인
CSS
body,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
에 추가 css
text-align: center;
line-height: 50px;
text-align
으로 x축 기준 중앙으로 텍스트를 넣음
- y축은
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;}
- 이렇게 해결한다.
2. 카카오, 네이버
- Git 링크
로 대체,
3. CSS레이아웃 복습
2.어려웠던부분
- 중간에 나왔던
overflow:hidden
부분
- 아직까지 어떤부분에 멀써야하는지 헷갈림
3.해결
- 다른분이 이미 거기에 의문의 가지고 질문을 해서 거기에 있던 답변을 참고함
- 계속 해보면 어떤거에 어떤걸 써야하는지 잘알게되지않을까
4.소감
- 레이아웃 부분이 끝낫는데,, 먼가 쉬우면서도 정렬이나 하는방법이 여러갈래로 나뉘고 그부분에서 어떤걸 써야하고 상황따라 다르고 하니 헷갈리는 부분이 많은거같다.
Author And Source
이 문제에 관하여(210706), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@kenzokr/210706
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<nav class="menu">
<ul>
<li>
<a href="#">메뉴 버튼</a>
</li>
<li>
<a href="#">카카오</a>
</li>
<li>
<a href="#">다음</a>
</li>
</ul>
</nav>
CSS
body,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
에 추가 css
text-align: center; line-height: 50px;
text-align
으로 x축 기준 중앙으로 텍스트를 넣음- y축은
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
부분Author And Source
이 문제에 관하여(210706), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kenzokr/210706저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)