🔷 크기 단위
💡 em: 부모 엘리먼트의 font-size에 비례한 상대 사이즈(3em은 부모의 3배), 세부적으로 조정할 때 주로 사용
rem: html의 font-size에 비례한 상대 사이즈(em과 마찬가지로 배수), 유지보수하기가 편하고 예측이 쉬우며 전체적인 틀을 잡을 때 좋다.
🔷 색상 단위
색상 키워드: 대소문자 구분 x
ex) red, blue...
RGB 색상: 16진수 표기법 혹은 함수형 표기법을 사용해서 특정 색을 표현하는 방식
HSL 색상: 색상, 채도, 명도를 통해 특정 색을 표현하는 방식
div{
color: black;
color: #000;
color #ffffff;
color: rgb(255, 0, 0);
color: hsl(120, 100%, 0);
color: rgba(0, 0, 255, 0.5);
color: hsla(120, 100%, 0, 0.5);
}
속성 | 의미 |
---|---|
font-family | 글꼴 지정 (font name) |
font-size | 글자 크기 지정 |
font-style | 글자 스타일 지정 |
font-variant | 소문자를 작은 대문자(small-caps)로 변형 |
font-weight | 글자 굵기 지정 |
font | font에 관한 속성을 한번에 지정하는 단축형(short hand)속성 |
속성 | 의미 |
---|---|
text-align | text 정렬 방식 지정 |
text-decoration | text 장식 지정 |
text-indent | Text-block안 첫 라인의 들여쓰기 지정 |
text-transform | text 대문자화 |
white-space | 엘리먼트 안의 공백 지정 |
vertical-align | 수직 정렬 지정 |
letter-spacing | 문자 간의 space 간격을 줄이거나 늘림 |
word-spacing | 단어 간의 간격 지정 |
line-height | 줄(행) 간격 지정 |
color | text 색상 지정 |
속성 | 의미 |
---|---|
background-color | 배경색을 지정 |
background-image | 배경을 이미지로 지정 |
background-attachment | 배경 이미지를 고정하거나 scroll 여부를 지정 |
background-repeat | 배경 그림의 반복 여부를 지정 |
background-position | 배경 그림의 위치를 지정 |
background | 배경 관련 속성을 한번에 지정 (font 속성과 달리 속성 값 순서에 구애 받지 않음) |
background-size | 배경 이미지 크기 조절 |
background-clip | 배경 적용 범위 조절 |
🔷 box model
margin
: 테두리 바깥 외부여백border
: 테두리padding
: 테두리 안쪽 내부 여백🔷 margin
box의 마진영역의 너비를 지정
값 1개 -> 모든 면 적용
2개 -> {top, bottom}, {right, left}
3개 -> {top}, {right, left}, {bottom}
4개 -> top, right, bottom, left 순으로 적용
💡
margin: 0 auto
를 통해 가운데 정렬이 되도록 설정이 가능하다.
❗ 마진 상쇄 현상(마진끼리 겹쳐지는 현상)이 일어날 수 있다.
🔷 padding
🔷 border
border-style
: 선의 모양border-width
: 선의 굵기border-color
: 선의 색상💡 위의 세 속성을 줄여서 사용 가능하다
border-radius
: 선의 모서리를 둥글게 만드는 속성box-shadow
: 그림자 효과🔷 box-sizing
box-sizing
은 content-box
box-sizing: border-box
🔷 display: block
🔷 display: inline
line-height
로 지정🔷 display: inline-block
🔷 display: none
visibility: hidden
은 해당 요소 (공간 o, 화면 x)static
(기본) -> 일반적인 내용물의 흐름, 상단, 좌측에서의 거리를 지정할 수 없다.relative
-> HTML 문서에서의 일반적인 내용물의 흐름을 말하지만, top, left 거리를 지정absolute
-> 자신의 상위 box 속에서의 top, left, right, bottom 등의 절대적인 위치를 지정fixed
-> 스크롤(scroll)이 일어나도 항상 화면상의 지정된 위치에 있다.float
: 박스를 어느 위치에 배치할 것인지를 결정하기 위해 사용none
: 기본 값left
: 요소를 왼쪽으로 띄움right
: 요소를 오른쪽으로 띄움clear
: float
속성이 가지고 있는 값을 초기화 하기 위해 사용left
, right
: 각각의 속성 값을 취소할 수 있다.both
: 양쪽의 float 속성 값을 취소할 수 있다.none
: 기본 값🔷 Flexible Box module
은 인터페이스 내의 아이템 간 공간 배분과 강력한 정렬 기능을 제공하기 위한 1차원 레이아웃 모델로 설계
🔷 주요 개념
🔷 Flex Container
display: flex;
-> block 성격의 containerdisplay: inline-flex;
-> inline 성격의 containerflex-direction
: container 안의 item들의 나열되는 방향flex-wrap
: container 안의 item들의 크기가 container의 크기보다 클 때 줄 넘김flex-flow
: 방향과 줄 넘김을 동시에 설정justify-content
: 메인축의 정렬을 제어align-items
: 교차축의 정렬을 제어align-content
: wrap 속성에 의해서 여러 줄이 발생한 경우의 교차축 정렬🔷 Flex Item
order
: item의 배치 순서 제어flex-basis
: item의 너비를 지정flex-grow
: item의 팽창 제어flex-shrink
: item의 수축 제어flex
: flex-grow
, flex-shrink
, lex-basis
의 속성을 단축 지정align-self
: 특정 item의 교차 축 정렬을 제거
좋은 글이네요. 공유해주셔서 감사합니다.