CSS

CSS

Tags
Frontend
Web Dev
Published
Author

font-size

μˆ˜μΉ˜μ™€ λ‹¨μœ„λ₯Ό 지정해 κΈ€μžμ˜ 크기λ₯Ό μ •μ˜
  • px : λͺ¨λ‹ˆν„° μƒμ˜ ν™”μ†Œ ν•˜λ‚˜ 크기에 λŒ€μ‘ν•˜λŠ” μ ˆλŒ€μ μΈ 크기
  • rem : <html> νƒœκ·Έμ˜ font-size에 λŒ€μ‘ν•˜λŠ” μƒλŒ€μ μΈ 크기
  • em : λΆ€λͺ¨νƒœκ·Έ(μƒμœ„νƒœκ·Έ)의 font-size에 λŒ€μ‘ν•˜λŠ” μƒλŒ€μ μΈ 크기

text-align

블둝 λ‚΄μ—μ„œ ν…μŠ€νŠΈμ˜ μ •λ ¬ 방식
  • left/right
  • center
  • justify : 양끝 μ •λ ¬

인라인 vs 블둝

블둝 μš”μ†Œ

μžκΈ°κ°€ μ†ν•œ μ˜μ—­μ˜ λ„ˆλΉ„λ₯Ό λͺ¨λ‘ μ°¨μ§€ν•˜μ—¬ 블둝 ν˜•μ„±
ex) div, p, h1 λ“±

인라인 μš”μ†Œ

μžκΈ°μ—κ²Œ ν•„μš”ν•œλ§ŒνΌμ˜ κ³΅κ°„λ§Œ 차지
기본적으둜 μžκΈ°κ°€ ν•„μš”ν•œ μ˜μ—­λ§Œ μ°¨μ§€ν•˜κΈ° λ•Œλ¬Έμ— 높이와 λ„ˆλΉ„λ₯Ό μž„μ˜λ‘œ μ‘°μ • ν•  수 μ—†μŒ
inline-block으둜 λ°”κΏ”μ£Όλ©΄ λ³€κ²½ κ°€λŠ₯
ex) span, a λ“±

display 속성

display 속성은 μš”μ†Œλ₯Ό 블둝과 인라인 μš”μ†Œ 쀑 μ–΄λŠ μͺ½μœΌλ‘œ μ²˜λ¦¬ν• μ§€ μ •μ˜
미리 μ •μ˜λ˜μ–΄ μžˆλŠ” ν‚€μ›Œλ“œλ₯Ό μ†μ„±κ°’μœΌλ‘œ 지정
  • inline : 인라인으둜 처리
  • block : λΈ”λ‘λ ˆλ²¨λ‘œ 처리
  • inline-block : μ•ˆλΌμΈμœΌλ‘œ λ°°μΉ˜ν•˜λ˜, 블둝 레벨 μš”μ†Œμ˜ 속성을 μΆ”κ°€ν•  수 μžˆλ„λ‘ 처리
  • none : λ””μŠ€ν”Œλ ˆμ΄ ν‘œμ‹œν•˜μ§€ μ•ŠμŒ(μš”μ†Œμ—μ„œ 사라지진 μ•ŠμŒ)

λΆ€λ™μš”μ†Œ(float) = λ– μžˆλŠ” μš”μ†Œ

float

  • μš”μ†Œκ°€ λ¬Έμ„œμ˜ 일반적인 νλ¦„μ—μ„œ μ œμ™Έλ˜μ–΄ μžμ‹ μ„ ν¬ν•¨ν•˜κ³  μžˆλŠ” μ»¨ν…Œμ΄λ„ˆμ˜ μ™Όμͺ½μΈ 였λ₯Έμͺ½μ— λ°°μΉ˜ν•˜κ²Œ 함
  • none : κΈ°λ³Έκ°’
  • left : μžμ‹ μ„ ν¬ν•¨ν•˜κ³  μžˆλŠ” λ°•μŠ€μ˜ μ™ΌνŽΈ
  • right : μžμ‹ μ„ ν¬ν•¨ν•˜κ³  μžˆλŠ” λ°•μŠ€μ˜ 였λ₯ΈνŽΈ
= λ¬Έμ„œμ˜ 흐름에선 μ œμ™Έλ˜μ§€λ§Œ, ν•„μš”ν•œ 만큼의 곡간은 차지함

clear

  • float μš”μ†Œ 이후에 ν‘œμ‹œλ˜λŠ” μš”μ†Œκ°€ float을 ν•΄μ œ(clear)ν•˜μ—¬ float μš”μ†Œμ˜ 라래둜 λ‚΄λ €κ°€κ²Œ ν•  수 있음
  • none : κΈ°λ³Έκ°’
  • left : float이 left인 μš”μ†Œμ˜ μ•„λž˜λ‘œ 내렀감
  • right : float이 right인 μš”μ†Œμ˜ μ•„λž˜λ‘œ 내렀감
  • both : float이 left 및 right인 μš”μ†Œμ˜ μ•„λž˜λ‘œ 내렀감
  • clear: both; λ₯Ό μ‚¬μš©ν•˜λ©΄ ν•œλ°©μ— ν•΄κ²°

position

  • λ¬Έμ„œ 상에 μš”μ†Œλ₯Ό λ°°μΉ˜ν•˜λŠ” 방법
  • static : κΈ°λ³Έκ°’
  • relative : 일반적인 λ¬Έμ„œ 흐름에 따라 λ°°μΉ˜ν•˜λ˜, μƒν™”μ’Œμš° μœ„μΉ˜ 값에 따라 μ˜€ν”„μ…‹(μœ„μΉ˜λ₯Ό μ–Όλ§ˆκ°„ μ΄λ™μ‹œν‚€λŠ”κ²ƒ) 적용
  • absolute : 일반적인 λ¬Έμ„œ νλ¦„μ—μ„œ μ œκ±°ν•˜κ³ , κ°€μž₯ κ°€κΉŒμš΄ position 지정 μš”μ†Œμ— λŒ€ν•΄ μƒλŒ€μ μœΌλ‘œ μ˜€ν”„μ…‹ 적용
  • fixed : 일반적인 λ¬Έμ„œ νλ¦„μ—μ„œ μ œκ±°ν•˜κ³  μ§€μ •ν•œ μœ„μΉ˜μ— κ³ μ •
  • sticky : 일반적인 λ¬Έμ„œ νλ¦„μ—μ„œ μ œκ±°ν•˜κ³  슀크둀 λ™μž‘μ΄ μ‘΄μž¬ν•˜λŠ” κ°€μž₯ κ°€κΉŒμš΄ μš”μ†Œμ— λŒ€ν•΄ μ˜€ν”„μ…‹ 적용

flexbox

  • λ°•μŠ€ λ‚΄ μš”μ†Œ κ°„μ˜ 곡간 λ°°λΆ„κ³Ό μ •λ ¬ κΈ°λŠ₯을 μ œκ³΅ν•˜κΈ° μœ„ν•œ 1차원 λ ˆμ΄μ•„μ›ƒ λͺ¨λΈ
  • λ ˆμ΄μ•„μ›ƒμ„ λ‹€λ£° λ•Œ ν•œλ²ˆμ— ν•˜λ‚˜μ˜ 차원(ν–‰μ΄λ‚˜ μ—΄)λ§Œμ„ λ‹€λ£Έ
  • flex μ»¨λ„€μ΄λ„ˆλ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” μ»¨ν…Œμ΄λ„ˆμ— display: flex;λ₯Ό μ μš©ν•΄μ•Όν•¨
  • μ€„λ°”κΏˆ μ—¬λΆ€ : flex-wrap / flex-wrap-reverse - κ°œλ³„ μš”μ†Œλ“€μ˜ 도합 크기가 μ»¨ν…Œμ΄λ„ˆ μ£ΌμΆ• 길이보닀 μ»€μ‘Œμ„λ•Œμ˜ 처리 방법 및 λ°©ν–₯ μ •μ˜

flex-direction

  • row : κΈ°λ³Έκ°’, 주좕은 ν–‰
  • row-reverse : 주좕은 행이고 λ°©ν–₯은 μ½˜ν…μΈ μ˜ λ°©ν–₯κ³Ό λ°˜λŒ€
  • column : 주좕은 μ—΄
  • column-reverse : 주좕은 열이고 λ°©ν–₯은 μ½˜ν…μΈ μ˜ λ°©ν–₯κ³Ό λ°˜λŒ€

animation

  • animation-duration : μ• λ‹ˆλ©”μ΄μ…˜ μ‹€ν–‰ μ‹œκ°„
  • animation-timing-functionm : μ• λ‹ˆλ©”μ΄μ…˜ 속도 곑선
    • liner - μΌμ •ν•œ 속도
    • ease - 천천히 μ‹œμž‘ν•΄μ„œ 점점 빨라지닀가 천천히 마무리
    • ease-in - μ‹œμž‘μ„ 느리게
    • ease-out - 마무리λ₯Ό 느리게
    • ease-in-out - 느리게 μ‹œμž‘ν•˜κ³  느리게 마무리
  • animation-delay : μ• λ‹ˆλ©”μ΄μ…˜ 지연 μ‹œκ°„
  • animation-iteration-count : μ• λ‹ˆλ©”μ΄μ…˜ μž¬μƒ 횟수
    • infinite
  • animation-direction : μ• λ‹ˆλ©”μ΄μ…˜ 진행 λ°©ν–₯
    • alternate - μ‹œμž‘κ³Ό 끝 λ²ˆκ°ˆμ•„ 반볡
    • normal - μ‹œμž‘ β†’ 끝
    • reverse - μ—­μˆœ

prefix 접두사

λ‹€λ₯Έ λ²„μ „μ˜ λΈŒλΌμš°μ €μ—μ„œλ„ 싀행될 수 μžˆκ²Œλ” μž‘μ„±
  • -webkit- (크둬, μ‚¬νŒŒλ¦¬)
  • -moz- (νŒŒμ΄μ–΄ 폭슀)
  • -ms- (μ΅μŠ€ν”Œλ‘œλŸ¬ 9.0)
  • -o- (였페라)

λ ˆμ΄μ•„μ›ƒ

슀크둀 μ—†λŠ” 100% λ ˆμ΄μ•„μ›ƒ

notion image
.flex-container { display: flex; flex-direction: column; height: 100%; } .flex_item { flex: 1; overflow: auto; }

λ‚΄λΉ„κ²Œμ΄μ…˜ μ˜μ—­

notion image
.flex-container { diplay: flex; } .flex-item { flex: none; } .flex-item-grab { margin-left: auto; }
notion image

λΈŒλΌμš°μ € ν™”λ©΄ μ•„λž˜μ— λΆ™λŠ” ν‘Έν„°

notion image
.flex-container { display: flex; flex-direction: column; } .flex-item { margin-top: auto; }

정렬이 λ‹€λ₯Έ 메뉴

notion image
.flex-container { display: flex; justify-content: space-between; }

μœ λ™ λ„ˆλΉ„ λ°•μŠ€

λΆ€λͺ¨ μš”μ†Œμ˜ 크기가 쀄어듀어 μ½˜ν…μΈ μ˜ 크기보닀 μž‘μ•„μ§€λ©΄ μžμ‹ μš”μ†Œμ˜ 크기가 μ½˜ν…μΈ μ˜ 크기보닀 쀄어든닀.
notion image
.flex-container { display: flex; } .flex-item { max-width: 300px; }

λ§μ€„μž„κ³Ό μ•„μ΄μ½˜

notion image
.flex-container { display: inline-flex; // λΆ€λͺ¨ μš”μ†Œλ₯Ό 인라인 블둝 μš”μ†Œλ‘œ λ§Œλ“€κΈ° max-width: 100%; } .text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

μœ„μ•„λž˜λ‘œ 흐λ₯΄λŠ” λͺ©λ‘

notion image
.flex-container { display: flex; flex-direction: column; flex-wrap; wrap; justify-container: space-around; align-content: space-around; } // directionκ³Ό wrap을 ν•œκΊΌλ²ˆμ— μ‚¬μš© κ°€λŠ₯ .flex_container { display: flex; flex-flow: column wrap; ... }

κ°€λ‘œμ„Έλ‘œ λ°°μœ¨μ„ μœ μ§€ν•˜λŠ” λ°˜μ‘ν˜• λ°•μŠ€

notion image
.flex-container { display: flex; flex-wrap: wrap; } .flex_item_list { flex-basis: 33.3%; display: flex; flex-direction: column; } .flex_item_image { flex: auto; }