CSS에 대해 공부하면서 가장 즐겁게 학습한 하루였다. 브라우저의 요소들을 움직이고 조작하는 것이 매우 흥미로웠고, 그동안 여러 웹페이지를 사용하면서 어떻게 움직임을 구현하였는지 궁금증이 생겼다.
- Cascading (캐스케이딩)
- 배경
- 색상
- vw, vh
- calc()
- posiiton
- z-index
- transition
Cascading Style Sheet
브라우저 스타일 시트 < 사용 스타일시트 < 개발자 스타일 시트
<link>
로 연결한 css파일 < <style>
요소 안에** 있는 CSS < 인라인
스타일 CSS<style>
요소 안에 있는 CSS<link>
로 연결한 CSS 파일부모에게 상속받은 속성
< 전체 선택자
< 태그 선택자
< 클래스 선택자, 가상 선택자
< ID 선택자
!important
* { color: red!important; }
background-color
background-color: #f12db0 background-color: rgb(122,122,123)
background-image
background-image: url("이미지 경로")
background-image: url("이미지 경로"), url("이미지 경로 2")
background-posiiton
/* 다섯가지 키워드를 조합해서 위치를 지정합니다 */ background-position: center; background-position: top right; background-position: left; background-position: bottom center; /* x축과 y축 수치 직접입력 */ background-position: 50px 24px; (각각 x축 y축)
background-repeat
background-repeat: no-repeat background-repeat: repeat background-repeat: repeat-x background-repeat: repeat-y
background-size
background-size: cover | auto | contain /* 직접 픽셀을 정해줄 수도 있습니다. */ background-size: 200px 120px
background-attachment
background-attachment: fixed background-attachment: scroll(기본값) background-attachment: local
background 단축 속성
/* background : color imageUrl repeat position /size attachment */ background : red url("이미지 경로") no-repeat center/cover fixed
object-fit
<img>
나 <video>
등 대체요소의 내용이 지정된 규격과 맞춰지는 방식을 지정/* 네개 중 하나를 선택해서 사용합니다. */ object-fit : cover object-fit : fill(기본값) object-fit : contain object-fit : none
object-position
<img>
나 <video>
등 대체요소의 콘텐츠 정렬 방식을 지정object-position : 100px 40px
1. 색상 이름 표기법
color: red
2. Hex 색상 코드
#ffffff
~ #000000
color: #ffffff
3. rgb 색상코드
rgb(red, green, blue)
값을 이용해 색상을 표기rgba(red, green, blue, opacity)
라는 추가 속성을 이용하면 색상에 투명도도 적용opacity
- 불투명도opacity는 요소의 불투명도를 설정color : rgb(251,241,17) color : rgba(0, 0, 0, 0.5)
/* viewport가 1200(px)x920(px)인 경우 */ 10vw => 1200x0.1 = 120px 50vh => 920x0.5 = 460px 100px => 1200x1 = 1200px
덧셈, 뻴셈
.item1{ background: red; width: calc(50px + 50px); height: 50px; } .item2{ background: blue; width: calc(100% - 120px); height: 50px; }
곱셈, 나눗셈
.item3{ background: green; width: calc(2*100px); height: 50px; } .item4{ background: orange; width: calc(100%/4); height: 50px; }
top
, left
, bottom
, right
속성을 이용해 좌표값을 변경static
top, left, bottom, right 속성을 사용할 수 없다
relative
원래 있던 자리를 기준
으로 요소의 위치를 조정absolute
relative가 적용 된 요소
를 찾아서 절대 좌표의 기준으로 삼는다body 전체
를 기준으로 잡게 된다fixed
viewport를 기준
으로 요소의 위치를 조정sticky
부모 요소의 좌표 기준
으로 요소의 위치를 조정.z-index
사용하여 우선순위 선정z-index: auto (기본값) z-index: 1 z-index: 9990
속성(property)에 transition을 적용할 것 인지
를 지정transition-property: color,width, all.....
transition에 걸리는 시간
transition-duration: 0.2s
transition의 속도 패턴
을 지정ease-in-out
transition-duration: ease-in-out
linear
transition-duration: linear
ease
transition-duration: ease
ease-in
transition-duration: ease-in
ease-out
transition-duration: ease-out
transition 요청을 받은 후 실제로 실행되기까지 기다려야 하는 시간의 양
transition-delay: 4s