| id | class |
|---|---|
| #ID명 | .CLASS명 |
| 한 페이지에 하나의 정의 (하나의 id 태그만 사용) | 반복적으로 사용되는 스타일을 정의 |
| 중복해서 적용 안됨 | 중복해서 적용 가능 |
| 우선순위 높음 | 우선순위 낮음 |
#Logo{
background-color : blue;
color : white;
}
.gray{
background-color : gray;
}
.blueText{
coloe : blue;
}
# id는 중복 X
<div id="Logo">Logo</div>
# class는 중복하여 적용 가능
<div class="gray blueText">Hello World</div>
< CSS 박스모델 >

요소(즉 태그)는inline요소와 block요소로 나눌 수 있음
inline<span>block<div>visible : 눈에 보임hidden : 숨김(자신의 영역은 계속 차지)display : none은 요소가 차지하고 있던 공간이 사라짐collapse : <table>태그에서만 사용 가능하며, 선택 테이블의 행과 열을 숨김 (테이블의 행과 열 요소만 지정할 수 있으며, 그 외 요소의 지정하면 hidden으로 해석)inherit : 부모 요소의 값을 상속(default)none : 보이지 않음block : 블록 박스inline : 인라인 박스inline-block : block과 inline의 중간 형태inline의 특징block의 특징<div class="flex-container">
<div class="flex-item">aaa</div>
<div class="flex-item">bbbbbb</div>
<div class="flex-item">ccccc</div>
</div>
참고 및 이미지 출처 ) https://studiomeal.com/archives/197
부모 요소 → flex-container, 자식 요소 → flex-items
컨테이너 : Flex의 영향을 받는 전체 공간
설정된 속성에 따라, 각각의 아이템들이 어떠한 형태로 배치되는 것
flex의 속성들은 2가지로 나뉨
display : flex; (기본)
flex-direction : 아이템들이 배치되는 축의 방향을 결정

flex-wrap : 아이템의 줄바꿈을 어떻게 할지 결정

flex-flow : (flex-direction) (flex-wrap) : 2개의 속성을 한 번에 지정함
💡 justify vs align : justify는 메인축 방향으로의 정렬, align은 수직축 방향으로의 정렬

justify-content : 메인축 방향으로의 아이템 정렬

align-items : 수직축 방향으로의 아이템 정렬
align-content ⭐⭐
flex-wrap : wrap 인 상태에서 아이템들의 행이 2줄 이상일 때, 수직축 방향 정렬flex-basis : flex 아이템들의 기본 크기를 설정flex-grow : 유연하게 늘리기 /* 1:2:1의 비율로 세팅할 경우 */
.item:nth-child(1) { flex-grow: 1; }
.item:nth-child(2) { flex-grow: 2; }
.item:nth-child(3) { flex-grow: 1; } 
flex-shrink : 유연하게 줄이기 ⭐⭐flex : (flex-grow) (flex-shrink) (flex-basis) : 3개의 속성을 한번에 설정position 속성은 요소의 정확한 위치 지정을 위해 top, left, bottom, right 속성과 함께 사용staticposition 속성이 static이면, top, left, bottom, right속성 무시relativetop, left, bottom, right 속성으로 현재 위치에서 얼마나 떨어지게 할지를 지정z-index를 사용absolutetop, left, bottom, right 속성으로 현재 위치에서 얼마나 떨어지게 할지를 지정static이 아닌 다른 position값을 가진 것이 없다면 root element인 body를 기준으로 움직이다.display 속성을 absolute로 설정하면, 부모 요소의 display 속성을 relative로 지정함fixedstickysitcky로 설정된 영역은 설정된 위치에 도달하기 전까지는 static 속성처럼 행동하다가 설정된 위치에 다다르면 fixed 속성처럼 행동함z-index 속성으로 정합니다.a:hover {
color: red;
}overflow 프로퍼티에 지정된 값에 따라 보여짐visible : 기본 값. 넘칠 경우 컨텐츠가 상자 밖으로 보여짐hidden: 넘치는 부분은 잘려서 보여지지 않음scroll : 스크롤바가 추가되어 스크롤 가능(가로, 세로 모두 추가)auto : 컨텐츠 량에 따라 스크롤바를 추가할지 자동으로 결정 div.container {
overflow: visible;
border:solid 1px green;
height: 200px;
width: 200px;
}
@media screen and (max-width: 768px){
body { background-color: lightgreen; }
}
font-size 속성 값에 비례해서 결정되는 상대 단위font-size 속성 값을 기준으로 함<html>rem 은 **html 요소의 font-size 속성 값을 기준**으로 함font-size 속성 값에 비례해서 결정되는 상대 단위font-size 속성 값이 기준vh : Viewport Heightvw : Viewport Width1vh는 실제 높이값의 1/100을 나타냄.1000px일 때, 1vh는 10pximg {
width: 20%
max-width: 500px;
}
/*
화면이 엄청 커지면 20%로 설정해 놨던 이미지나 부분도 커짐
근데 그 부분은 크게 키우고 싶지 않을 때
전체 화면의 20%이지만 500px이상으로 더이상 커지게 하고 싶지 않을 때
max-width 속성을 사용해 최대 너비를 지정해줌
*/
웹 브라우저마다 기본 태그에 대한 스타일링이 모두 다르기 때문에
동일한 CSS스타일을 보여주기 위해서는 스타일 default값을 초기화 해야함
참고 ) https://meyerweb.com/eric/tools/css/reset/
참고 ) https://www.youtube.com/watch?v=Eim11QYLfEY