: 요소의 외부 여백(공간)을 지정하는 단축 속성
margin: 10px; /* top, right, bottom, left 모두 적용 */
margin: 10px 20px; /* top/bottom, right/left 적용 */
margin: 10px 20px 30px; /* top, right/left, bottom 적용 */
margin: 10px 20px 30px 40px; /* 각 top, right, bottom, left 적용 */
margin-top
, margin-bottom
, margin-right
, margin-left
: 요소의 내부 여백(공간)을 지정하는 단축 속성
padding: 10px; /* top, right, bottom, left 모두 적용 */
padding: 10px 20px; /* top/bottom, right/left 적용 */
padding: 10px 20px 30px; /* top, right/left, bottom 적용 */
padding: 10px 20px 30px 40px; /* 각 top, right, bottom, left 적용 */
padding-top
, padding-bottom
, padding-right
, padding-left
border: 선-두께 선 종류 선-색상;
border-width
: 요소 테두리 선의 두께 → medium(기본 값), 단위로 명시하는 것이 좋음border-style
: 요소 테두리 선의 종류 → none(기본 값), solid(실선), dashed(파선)border-color
: 요소 테두리 선의 색상을 지정하는 단축 속성 → black(기본 값), transparent(투명)border-top: 두께 종류 색상;
border-top-width: 두께;
border-top-style: 종류;
border-top-color: 색상;
→ bottom, left, right도 같음
ex) border-radius: 3px;
box-sizing: border-box;
사용ex) overflow: hidden;
visible
(기본 값): 넘친 내용을 그대로 보여줌hidden
: 넘친 내용을 잘라냄scroll
: 넘친 내용 잘라냄, 스크롤바 생성 → x축, y축 둘다 스크롤바 생성auto
: 넘친 내용이 있는 경우에만 잘라내고 스크롤바 생성overflow-x
, overflow-y
block
: 상자(레이아웃) 요소 → 이미 지정되어 있는 값inline
: 글자 요소 → 이미 지정되어 있는 값inline-block
: 글자 + 상자 요소 → 이미 지정되어 있는 값flex
: 플렉스 박스 (1차원 레이아웃) → 따로 지정하여 사용하는 값grid
: 그리드 (2차원 레이아웃) → 따로 지정하여 사용하는 값none
: 보여짐 특성 없음, 화면에서 사라짐 → 따로 지정하여 사용하는 값ex) opacity: 0.5;
opacity: .5;
font-size
: 글자 사이즈(크기) → 16px(기본 값), 단위로 크기 지정font-style
: 글자의 기울기 → normal(기본 값, 기울기 없음), italic(이텔릭체)font-weight
: 글자의 두께(가중치) → normal, 400(기본 두께), bold, 700(두껍게), 100~900(이외 두께)line-height
: 한 줄의 높이, 행간과 유사 → normal(기본 값), 숫자(글꼴 크기의 배수), 단위로 지정font-family
: 글꼴(서체) 지정 → font-family: 글꼴1, 글꼴2, … 글꼴 계열;
sans-serif
: 고딕체 계열 → 가장 많이 사용color
: 글자의 색상 → rgb(0,0,0) (기본 값, 검정색), 색상text-align
: 문자의 정렬 방식 → left(왼쪽 정렬, 기본 값), right(오른쪽 정렬), center(가운데 정렬), justify(양쪽 정렬)text-decoration
: 문자의 선 → none(선 없음, 기본 값), underline(밑줄), overline(윗줄), line-through(중앙 선)text-indent
: 문자 첫 줄의 들여쓰기 → 0(기본 값), 단위로 지정background-color
: 요소의 배경 색상 → transparent(투명함, 기본값), 색상으로 지정background-image
: 요소의 배경 이미지 삽입 → none(기본 값), url(”경로”)
background-repeat
: 요소의 배경 이미지 반복 → repeat(이미지 수직, 수평 반복, 기본 값), repeat-x(수평 반복), repeat-y(수직 반복), no-repeat(반복 안됨)background-position
: 요소의 배경 이미지 위치 → 방향(top, botton, left, right, center), 단위로 지정background-size
: 요소의 배경 이미지 크기 → auto(이미지 실제 크기, 기본 값), 단위, cover(비율 유지, 요소의 더 넓은 너비에 맞춤), container(비율 유지, 요소의 더 짧은 너비에 맞춤)background-attachment
: 요소의 배경 이미지 스크롤 특성 → scroll(이미지가 요소 따라서 같이 스크롤, 기본 값), fixed(이미지가 뷰포트에 고정, 스크롤 없음)static
(기준 없음), relative
(요소 자신을 기준), absolute
(위치 상 부모 요소 기준),fixed
(뷰포트 기준), sticky
(스크롤 영역 기준)1) 요소에 position 속성의 값이 있는 경우가 위에 쌓임(static 제외)
2) 1번 조건이 같은 경우, z-index 속성의 숫자 값이 높을 수록 위에 쌓임
3) 1번, 2번 조건까지 같은 경우, HTML의 다음 구조일수록 위에 쌓임
display: flex;
flex
: 블록 요소와 같이 Flex Container 정의inline-flex
: 인라인 요소와 같이 Flex Container 정의flex-direction
: 주 축을 설정 → row(행 축, 기본 값, 좌⇒우), row-reverse(행 축, 우⇒좌), column(열 축, 위⇒아래), column-reverse(열 축, 아래⇒위)flex-wrap
: Flex Items 묶음(줄 바꿈) 여부 → nowrap(줄바꿈없음, 기본값), wrap(여러 줄로 묶음)justify-content
: 주 축(수평)의 정렬 방법flex-start
: Flex Items를 시작점으로 정렬flex-end
: Flex Items를 끝점으로 정렬center
: Flex Items를 가운데 정렬space-between
: 각 Flex Item 사이를 균등하게 정렬space-around
: 각 Flex Item의 외부 여백을 균등하게 정렬align-content
: 교차 축(수직)의 여러 줄 정렬 방법 → item들이 두줄 이상으로 구성되어야하고, 여백이 있어야 한다.stretch
(기본 값): Flex Items를 시작점으로 정렬flex-start
: Flex Items를 시작점으로 정렬flex-end
: Flex Items를 끝점으로 정렬center
: Flex Items를 가운데 정렬space-between
: 각 Flex Item 사이를 균등하게 정렬space-around
: 각 Flex Item의 외부 여백을 균등하게 정렬align-items
: 교차 축의 한 줄 정렬 방법stretch
(기본 값): Flex Items를 교차 축으로 늘림flex-start
: Flex Items를 각 줄의 시작점으로 정렬flex-end
: Flex Items를 각 줄의 끝점으로 정렬center
: Flex Items를 각 줄의 가운데 정렬baseline
: Flex Items를 각 줄의 문자 기준선에 정렬order
: Flex Item의 순서 → 0(순서 없음, 기본 값), 숫자(숫자가 작을 수록 먼저)flex-grow
: Flex Item의 증가 너비 비율 → 0(증가 비율 없음, 기본 값), 숫자(증가 비율).container .item:nth-child(1){
flex-grow: 1;
}
.container .item:nth-child(2){
flex-grow: 1;
}
.container .item:nth-child(3){
flex-grow: 3;
}
/* 1:1:3 비율로 가득 너비를 채움 */
flex-shrink
: Flex Item의 감소 너비 비율 → 1(컨테이너 너비에 따라 감소 비율 적용, 기본값), 숫자(감소 비율).container .item:nth-child(1){
flex-shrink: 3;
}
.container .item:nth-child(2){
flex-shrink: 3;
}
.container .item:nth-child(3){
flex-shrink: 0;
}
/* 줄어드는걸 하지 않게하기 위해서는 flex-shrink:0으로 설정 */
flex-basis
: Flex Item의 공간 배분 전 기본 너비 → auto(요소의 내용 너비. 기본 값), 단위로 설정transition: 속성명(transition-property) **지속시간(transition-duration)** 타이밍함수(transition-timing-function) 대기시간(transition-delay);
transition: width 3s;
→ width부분만 3초정도 전환 지속 시간을 적용ease: 느리게-빠르게-느리게
linear: 일정하게
ease-in: 느리게 - 빠르게
ease-out: 빠르게 - 느리게
ease-in-out: 느리게 - 빠르게 - 느리게
참고 자료 검색어: easing function, easing function mdn, tweenmax easing
transition: width 3s 3s;
→ 앞이 지속 시간, 뒤가 대기시간transition:
width .5s,
background-color 2s;
transform: 변환함수1 변환함수2 변환함수3 …;
transform: 원근법 이동 크기 회전 기울임;
transform: perspective(150px) rotateX(45deg);
```css
.container{
width: 200px;
height: 100px;
background-color: royalblue;
}
.container .item{
width: 100px;
height: 100px;
background-color: orange;
font-size: 60px;
color: red;
text-align: center;
line-height: 100px;
}
```
```css
.container .item{
width: 100px;
height: 100px;
background-color: orange;
font-size: 60px;
color: red;
text-align: center;
line-height: 100px;
transform: rotateY(180deg); /* 추가 */
/* backface-visibility: visible이 적용되어 있어서 뒤집힘이 보임 */
}
```
```css
.container .item{
width: 100px;
height: 100px;
background-color: orange;
font-size: 60px;
color: red;
text-align: center;
line-height: 100px;
transform: rotateY(180deg); /* 추가 */
backface-visibility: hidden /* 뒷면이 안보이게 하는 속성 */
}
```