HTML5와 CSS를 사용해서 간단한 메인 페이지를 만들어 보았다!
(전체적인 메인 페이지 + 곱하기 그레디언트 + 마우스 롤오버 기능 정도만 적용 시켰다)
▼ 작성하면서 함께 메모한 것들) 배운 것, 다시 정리한 개념들, 궁금증에 대해
1) 최소한의 Reset CSS 을 설정하고 시작한다.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
1-1) 직관적인 box model을 위해서 box-sizing: border-box;
을 사용한다.
2) VScode의 emmet
기능
.container + tab = <div class="container"> </div>
- h1>a = <h1><a href=""></a></h1>
- ul>li*5>a = ul밑에 li태그를 다섯개 a태그로 연결해서 만들기 →
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
3) link
의 rel
에 대한부분
<link>
태그의 rel
속성은 현재 문서와 외부 리소스 사이의 연관 관계를 명시한다. rel
속성은 <link>
요소에 반드시 명시되어야 하는 필수 속성이다. <link rel="속성값(여기서는 stylesheet)">
속성값의 stylesheet는 스타일 시트로 사용할 외부 리소스를 불러온다는 의미이다.
4) linear-gradient
R 레드 [0~255]
G 그린 [0~255]
B 블루 [0~255]
A(alpha) [0~1]ex) .simple-linear { background: linear-gradient(blue, pink); } 원한다면 색상을 계속 추가할 수 있다 (최소 두가지 이상)
5) vw
와 vh
단위
6) margin: 0 auto;
margin:0 auto;
는 위아래 여백이 없고 가로로는 중앙에 배치되는 기본 서식이다.7) .container .header
.a .b .c{}
.container
안의 .header
는 영향을 받지만 .container
안의 .school
는 영향을 받지 않았다.) .a.b.c{}
다중 조건 선택자 'and'.a, .b, .c{}
다중 조건 선택자 'or' 이 있다. .container .header h1 a {}
는 컨테이너 밑의 해더 밑의 h1 밑의 a 태그!8) display:flex
와 justify-content
. container . header { justify-content: space-between; }
을 사용했는데 이것은 요소가 좌우 끝으로 붙어서 정렬이 될 수 있도록 지정한다. 즉 header라는 클래스 아래에 'h1'
과 'nav'
두개의 영역 중 첫번째인 h1은 좌측 끝, 뒤의 nav는 우측 끝으로 붙인 것이다.
- justify-content: flex-start; : 좌측 기준 정렬 (기본값)
- justify-content: flex-end; : 우측 기준 정렬
- justify-content: center; : 중앙정렬
- justify-content: space-between; : 첫번째와 마지막 flex item은 좌우측 정렬, 나머지는 균등 정렬
- justify-content: space-around; : 모든 flex item 균등 정렬
9) nav
태그 꾸미기
display: inline-block;
으로 nav의 메뉴들을 가로로 정렬했다.margin:0 10px;
로 지정하여 그들 사이에 간격을 줬다.10) align-items
(아이템 정렬)
align-items: center;로 바꾸어 높이 80px기준 요소가 항상 중앙으로 오도록 설정했다.
▼ 아래는 내가 블로그에 정리했던 아이템 정렬에 관한 내용
justify-items
은 아이템 가로축 정렬방식을 지정한다.justify-items: end;
처럼 사용가능하다. (start, end, center, stretch)align-items
은 아이템 세로축 정렬방식을 지정한다.align-items: start;
처럼 사용가능하다. (start, end, center, stretch)11) hover
기능 사용
12) position: absolute;
백그라운드 포지션은 정리내용에 있는데, 따로 css포지션은 정리하지 않았던 것 같다.
position
속성은 문서 상에 요소를 배치하는 방법을 지정한다.❗️ 마지막 특징이 헷갈려서 참고한 글
https://www.daleseo.com/css-position-absolute/
13) .container
의 .school
(school은 내가 지정한 클래스명)
선택자(.container .school)에 해당하는 요소는 항상 화면의 정중앙에 위치할 수 있도록 설정.
❗️translate -50% 원리가 헷갈려서 참고한 글
https://myhappyman.tistory.com/163
14) <h1><a href="#">HOGWARTS</a></h1>
중 '#
' 은?
a
태그는 herf
속성을 필수로 사용해야 하는데 대상경로가 명확하지 않을때 빈 링크로 #을 임시로 쓸 수 있다.
15) button 효과
cursor: pointer;
transition
CSS에서도 셀렉터를 정리하는 리팩토링이 있을까..?🤔
+) 시맨틱 태그로도 작성을 해봐야겠다!