박스 제어
글자 제어
auto
: 기본값(요소에 이미 들어있는 속성의 값) - 브라우저가 너비를 계산단위
: px, em, vw 등 단위로 지정 - px를 가장 많이 씀.none
: 기본값으로 최대너비 제한 없음auto
: 브라우저가 너비를 계산단위
: px, em, vw 등 단위로 지정0
: 기본값으로 최소너비 제한 없음auto
: 브라우저가 너비를 계산단위
: px, em, vw 등 단위로 지정부모요소 속성 이상으로 커질 수는 없다.
그러나 min-width 가 부모요소보다 크면 부모요소가 작더라도 넘어갈 수 있다.
px
픽셀 / %
상대적 백분율 / em
요소의 글꼴 크기 / rem
루트 요소(html)의 글꼴 크기 vw
뷰포트 가로 너비의 백분율 / vh
뷰포트 세로 너비의 백분율음수사용가능
0
: 기본값으로 외부 여백 없음auto
: 브라우저가 여백을 계산단위
: px, em, vw등 단위로 지정%
: 부모요소의 가로 너비에 대한 비율로 지정margin : 10px 20px
: 2개 지정 가능top, bottom
, left, right
: 상하 / 좌우margin : 10px 20px 30px
: 3개 지정 가능top
, left, right
, bottom
: 상/ 좌우 / 하margin : 10px 20px 30px 40px
: 4개 지정 가능top
, right
, bottom
, left
: 상 / 우 / 하 / 좌위부터 시계방향임 기억!!
margin-방향
: 네 부분 중 원하는 부분만 지정도 가능하다.top / right / bottom, left
margin : 음수
: 반대로 겹쳐지게 된다.요소의 크기가 커진다
- 내부가 확장되므로 전체적으로 커져버림!0
: 기본값으로 내부 여백 없음단위
: px, em, vw 등 단위로 지정%
: 부모요소의 가로 너비에 대한 비율로 지정padding : (갯수 1,2,3,4개 가능)
- 규칙 margin과 동일border: 선-두께 선-종류 선-색상 ;
- 요소의 테두리 선을 지정하는 단축속성border-width
, border-style
, border-color
얘도 결국 요소의 크기가 커진다.
기본값
: medium none black; - 선의 종류가 없어 출력 안되던 상태.border-width
- 요소 테두리 선의 두께medium
:중간두께(디폴값) / thin
:얇은두께 / thick
:두꺼운 두께단위
: px, em, % 등 단위로 지정top, right, bottom, left
;top,bottom
, left,right
;top
, left,right
, bottom
;top
, right
, bottom
, left
;border-style
- 요소 테두리 선의 종류none
: 기본값 - 선없음solid
: 실선(일반 선) / dashed
: 파선top, right, bottom, left
;top,bottom
, left,right
;top
, left,right
, bottom
;top
, right
, bottom
, left
;border-color
- 요소 테두리 선의 색상지정black
: 기본값 - 검정색 색상
: 선의 색상transparent
: 투명top, right, bottom, left
;top,bottom
, left,right
;top
, left,right
, bottom
;top
, right
, bottom
, left
;색상이름
- 브라우저에서 제공하는 색상 이름 - red, tomato, royalblueHex 색상코드
- 16진수 색상 - #000, #FFFFFFRGB
- 빛의 삼원색 - rgb(255,255,255)RGBA
- 빛의 삼원색 + 투명도 - rgba(0, 0, 0, 0.5)요소의 테두리 선을 지정하는 기타속성들
두께
종류
색상
;두께
;종류
;색상
;top
자리에 대신 bottom
, left
, right
로만 바꾸면 됨 0
: 기본값 - 둥글기 없음
단위
: px, em, vw등 단위로 지정
좌상
우상
우하
좌하
; 로 원하는 것만 깎을 수 있다.content-box
: 기본값 - 요소의 내용(content)으로 크기 계산
border-box
: 요소의 내용 + padding + border로 크기 계산
요소의 크기 이상으로 내용이 넘쳤을 때, 보여짐을 제어하는 단축 속성
visible
: 기본값 - 넘친 내용을 그대로 보여줌
hidden
: 넘친 내용을 잘라냄scroll
: 넘친 내용을 잘라냄, 스크롤바 생성, 상하좌우 다 생김auto
: 넘친 내용이 있는 경우에만 잘라내고 스크롤바 생성block
: div 등에서 디폴로 정해진 상자(레이아웃) 요소
inline
: span, a 등에서 디폴로 정해진 글자 요소
inline-block
: 글자 + 상자 요소(Base는 글자인데 상자속성 붙어있는 것)
flex
: [따로 지정해서 사용] 플렉스 박스 (1차원 레이아웃) - 축 1개
grid
: [따로 지정해서 사용] 그리드 (2차원 레이아웃) - 축 2개
none
: [따로 지정해서 사용] 보여짐 특성 없음, 화면에서 사라짐
기타
: table , table-row , table-cell 등...
1
: 기본값 - 불투명
0~1
: 0(투명)부터 1(불투명)사이의 소수점 숫자 / .5라 써도 됨
font-size font-weight font-style width font-family
normal
: 기본값 - 기울기 없음
italic
: 이텔릭체
oblique
: 기울어진 글자 (얘보단 이텔릭을 씀)
normal, 400
: 기본값 - 기본두께
bold, 700
: 두껍게
bolder
: 상위(부모)요소보다 더 두껍게
lighter
: 상위(부모)요소보다 더 얇기
100 ~ 900
: 100단위의 숫자 9개, normal과 bold 이외 두께
16px
: 기본 크기, 기본값 & root
단위
: px, em, rem 등 단위로 지정
%
: 부모 요소의 폰트 크기에 대한 비율
smaller
: 상위(부모)요소보다 작은 크기
larger
: 상위(부모)요소보다 큰 크기
xx-small ~ xx-large
: 가장 작은 크기 ~ 가장큰 크기까지 (7단계)
normal
: 기본값 - 브라우저의 기본 정의를 사용
숫자
: 요소의 글꼴 크기의 배수로 지정
단위
: px, em, rem 등의 단위로 지정
%
: 요소의 글꼴 크기의 비율로 지정
serif
: 바탕체 계열sans-serif
: 고딕체 계열monospace
: 고정너비(가로폭이 동등) 글꼴 계열cursive
: 필기체 계열fantasy
: 장식 글꼴 계열rgb(0,0,0)
: 기본값 - 검정색
색상
: 기타 지정 가능한 색상
left
: 기본값 - 왼쪽 정렬
right
: 오른쪽 정렬
center
: 가운데 정렬
justify
: 양쪽 정렬
none
: 기본값 - 장식 없음
underline
: 밑줄
overline
: 윗줄
line-through
: 중앙선
0
: 들여쓰기 없음
단위
: px, em, rem 등 단위로 지정%
: 요소의 비율로 지정transparent
: 기본값 - 투명함
색상
: 지정 가능한 색상
none
: 기본값 - 이미지 없음
url("경로")
: 이미지 경로
repeat
: 기본값 - 이미지를 수직, 수평 반복 - 바둑판
repeat-x
: 이미지를 수평 반복 - 수평으로만(왼 -> 오)!!
repeat-y
: 이미지를 수직 반복 - 수직으로만(위 -> 아래)!!
no-repeat
: 반복 없음
0% 0%
: 0%~100% 사이 값
방향
: top, bottom, left, right, center (방향1 방향2)형태
단위
: px, em, rem 등 단위로 지정 (x축 y축)형태
auto
: 기본값 - 이미지의 실제 크기
단위
: px, em, rem 등 단위로 지정
cover
: 비율을 유지, 요소의 더 넓은 너비에 맞춤
contain
: 비율을 유지, 요소의 더 짧은 너비에 맞춤
요소의 배경 이미지 스크롤 특성
scroll
: 기본값 - 이미지가 요소를 따라서 같이 스크롤
fixed
: 이미지가 뷰포트에 고정, 요소는 올라가는데 이미지가 고정! 스크롤 x
local
: 요소 내 스크롤 시 이미지가 같이 스크롤(쓸일이 거의 없을 것)
position과 같이 사용하는 CSS 속성들! - 모두 음수 사용 가능!
top
, bottom
, left
, right
, z-index
static
: 기본값 - 기준 없음relative
: 요소 자신을 기준absolute
: 위치상 부모 요소를 기준, (이해 잘해야 함)fixed
: 뷰포트(브라우저를 기준)sticky
: 스크롤 영역 기준auto
: 기본값 - 브라우저가 계산
단위
: px, em, rem 등 단위로 지정
배치 전 있던 자리를 기준으로 잡고 이동시켜 배치 시킨다.
배지 전 원래 자리는 투명처리되었을 뿐 그 자리는 존재하는 상태
(빈 공간처럼 처리 - 비정상적인 처리라 할 수 있다 - 즉, 사용될 일 거의 없다)
가장 많이 사용되는 편 / 공중에 붕 뜬 상태처럼 표현된다.
position:relative;
가 필요하다.어떤 요소가 사용자와 더 가깝게 있는지(위에 쌓이는지) 결정
auto
: 기본값 - 부모 요소와 동일한 쌓임 정도(= 0으로 알고있어도 무방하다.)
숫자
: 숫자가 높을수록 위에 쌓임
-1
통해 뒤로 밀어버릴 수 있다.너무 큰 숫자를 쓰는 것은 지양하자!
position
속성의 값으로 absolute
, fixed
가 지정된 요소는, display속성
이 block
으로 변경됨
1차원 레이아웃에서의 정렬
display: flex;
하면 된다.display
flex-flow
,flex-direction
,flex-wrap
justify-content
align-content
align-items
order
flex
,flex-grow
,flex-shrink
,flex-basis
align-self
flex
: 블록요소와 같이 Flex Container 정위
inline-flex
: 인라인 요소와 같이 Flex Container 정의
row
: 기본값 - 행 축(좌 -> 우)
row-reverse
: 행 축(우 -> 좌)
column
: 열 축(위 -> 아래)
- 원래 수직으로 쌓이기 때문에 굳이 잘 쓰진 않는다.
column-reverse
: 열 축(아래 -> 위)
nowrap
: 묶음(줄바꿈) 없음
wrap
: 여러 줄로 묶음
wrap-reverse
: wrap의 반대 방향으로 묶음
flex-start
: Flex Items를 시작점으로 정렬
flex-end
: Flex Items를 끝점으로 정렬
center
: Flex Items를 가운데 정렬
space-between
: 각 Flex Item 사이를 균등하게 정렬
space-around
: 각 Flex Item의 외부 여백을 균등하게 정렬
여러 줄
정렬 방법flex-wrap:wrap;
), 두 줄 이상(덩어리로 움직임)
이어야 하며, 움직일 만한 여백도 있어야 함.stretch
: 기본값 - Flex Items를 시작점으로 정렬
flex-start
: Flex Items를 시작점으로 정렬
flex-end
: Flex Items를 끝점으로 정렬
center
: Flex Items를 가운데 정렬
space-between
: 각 Flex Item 사이를 균등하게 정렬
space-around
: 각 Flex Item의 외부 여백을 균등하게 정렬
한 줄
정렬 방법stretch
: 기본값 - Flex Items를 교차 축으로 늘림
flex-start
: Flex Items를 각 줄의 시작점으로 정렬
flex-end
: Flex Items를 각 줄의 끝점으로 정렬
center
: Flex Items를 각 줄이 가운데 정렬
baseline
: Flex Items를 각 줄의 문자 기준선에 정렬
여기부터는 FlexItems의 속성
0
: 기본값 - 순서 없음
숫자
: 숫자가 작을수록 먼저 / -1
: 맨앞
0
: 기본값 - 증가 비율 없음
숫자
: 증가 비율 생성, 꽉 채우도록 늘어남.
1
: 기본값 - Flex Container 너비에 따라 감소 비율 적용
숫자
: 감소 비율 / 0 : 줄어들지않고, 모양 그대로 뚫고 나온다.
auto
: 기본값 - 요소의 Content 너비
단위
: px, em, rem 등 단위로 지정
flex-basis : 0;
글자부분을 생각하지 않고 전체적으로 배분 된다. 깔끔쓰!flex-basis : 100px;
기본 영역을 일괄되게 100px를 주고 나머지를 배분!!지속시간
타이밍함수 대기시간;-요소의 전환(시작과 끝)효과를 지정하는 단축속성 /,
를 통해 여러 속성 적용할 수 있음.
지속시간
은 단축형으로 작성할 때, 필수 포함 속성!
transition-property
, transition-duration
transition-timing-function
, transition-delay
속성이름
을 지정all
: 기본값 - 모든 속성에 적용
속성이름
: 전환 효과를 사용할 속성이름 명시
지속시간
을 지정0s
: 기본값 - 전환 효과 없음
시간
: 지속시간(s)을 지정
타이밍함수
를 지정ease
: [기본값] 느리게 - 빠르게 - 느리게
linear
: 일정하게
ease-in
: 느리게 - 빠르게
ease-out
: 빠르게 - 느리게
ease-in-out
: 느리게 - 빠르게 - 느리게
cubic-bezier(n,n,n,n)
: 자신만의 값을 정의 (0 ~ 1)
steps(n)
: n번 분할된 애니메이션
-> easing functions 라 검색해서 더 검색해봐도 좋다.
0s
: 기본값 - 대기시간 없음
시간
: 대기시간(s)을 지정
요소의 변환 효과
(변환함수는 띄어쓰기로 구분)
변환함수1
변환함수2
변환함수3
... ;원근법
이동
크기
회전
기울임
;[px]
translate(x,y)
- 이동(x축, y축)
translateX(x)
- 이동(x축)
translateY(y)
- 이동(y축)
[없음(배수)]
scale(x,y)
- 크기(x축, y축)
scaleX(x)
- 크기(x축)
scaleY(y)
- 크기(y축)
[deg]
rotate(degree)
- 회전(각도)
skew(x,y)
- 기울임(x축, y축)
skewX(x)
- 기울임(x축)
skewY(y)
- 기울임(y축)
matrix(n,n,n,n,n,n)
- 2차원 변환 효과
[px]
translateZ(z)
- 이동(z축)
translate3d(x,y,z)
- 이동(x축,y축,z축)
perspective(n)
- 원근법(거리) -> 제일 앞에 작성해야 함
[없음(배수)]
scaleZ(z)
- 크기(z축)
scale3d(x,y,z)
- 크기(x축,y축,z축)
[deg]
rotateX(x)
- 회전(x축)
rotateY(y)
- 회전(y축)
rotatZ(z)
- 회전(z축)
rotate3d(x,y,z,a)
- 회전(x축,y축,z축, 각도)
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)
- 3차원 변환 효과
원근거리
를 지정단위
: px 등 단위로 지정
속성 / 함수 | 적용대상 | 기준점 설정 |
---|---|---|
perspective:600px; | 관찰대상의 부모 | perspective-origin |
transform:perspective(600px) | 관찰대상 | transform-origin |
뒷면숨김
여부visible
: 기본값 - 뒷면 보임
hidden
: 뒷면 숨김
출처 : fastcampus react & redux로 시작하는 웹 프로그래밍