🀍 은지log 🀍

[REACT] CSS λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ λ„ˆλΉ„λ₯Ό λ‚˜λˆ„λŠ” κΈ°μ€€ μ •ν•˜κΈ° λ³Έλ¬Έ

πŸ’™ React

[REACT] CSS λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ λ„ˆλΉ„λ₯Ό λ‚˜λˆ„λŠ” κΈ°μ€€ μ •ν•˜κΈ°

Eun_zii 2023. 2. 10. 14:17

 

λ°˜μ‘ν˜• 웹이 μ›Ή λ ˆμ΄μ•„μ›ƒμ„ λ§Œλ“œλŠ” 기쀀이 λ˜λ©΄μ„œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμ„ ν‘œμ‹œν•˜κΈ° μœ„ν•œ λ””λ°”μ΄μŠ€λ₯Ό κ΅¬λΆ„ν•˜λŠ” μ—¬λŸ¬κ°€μ§€ 방법듀이 μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ CSS 미디어쿼리λ₯Ό μ‚¬μš©ν•˜λŠ” 방법이 있고, μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ‚¬μš©ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

 

μ–΄λ–€ 것을 μ‚¬μš©ν•˜λ”λΌλ„ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμ„ λ””λ°”μ΄μŠ€μ— 따라 κ΅¬λΆ„ν•˜λŠ” 기쀀은 κ°€λ‘œ λ„ˆλΉ„μž…λ‹ˆλ‹€.

κ°€λ‘œ λ„ˆλΉ„ 값에 따라 λ””λ°”μ΄μŠ€λ₯Ό μΈμ‹ν•˜κ³ , λ ˆμ΄μ•„μ›ƒμ„ 거기에 맞좰 λ³€κ²½ν•˜λŠ” 것이 CSS λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμ˜ κΈ°λ³Έ κ°œλ…μž…λ‹ˆλ‹€.

 

κ°€λ‘œ λ„ˆλΉ„λ₯Ό κΈ°μ€€μœΌλ‘œ ν•˜λŠ” 것은 λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμ—μ„œ κ³΅ν†΅μ΄μ§€λ§Œ, λ””λ°”μ΄μŠ€ μ’…λ₯˜λ³„ λ„ˆλΉ„ κ°’ 기쀀은 μ œκ°κ°μž…λ‹ˆλ‹€.

λ³„λ„λ‘œ 정해진 ν‘œμ€€μ΄λΌλŠ” 것이 μ—†κΈ° λ•Œλ¬Έμ— μ—…κ³„μ—μ„œ 많이 μ‚¬μš©ν•˜λŠ” 값을 κΈ°μ€€μœΌλ‘œ ν•˜κΈ°λ„ ν•˜κ³ , λ ˆμ΄μ•„μ›ƒ νŠΉμ§•μ— 맞좰 κ°œλ³„μ μΈ 값을 μ •ν•˜κΈ°λ„ ν•©λ‹ˆλ‹€.

 

μ˜μ–΄λ‘œλŠ” λ‚˜λˆ„λŠ” κΈ°μ€€ 해상도 μœ„μΉ˜λ₯Ό 쀑단점(Break point) 이라고 ν•©λ‹ˆλ‹€. 쀑단점, λ˜λŠ” 기쀀점을 λ‚˜λˆŒ λ•Œ λŒ€ν‘œμ μœΌλ‘œ λ””λ°”μ΄μŠ€ λ³„λ‘œ 많이 μ‚¬μš©λ˜λŠ” κ°€λ‘œ ν•΄μƒλ„λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

 

λ””λ°”μ΄μŠ€λ³„ μ£Όμš” μ‚¬μš© 해상도

 

1. μ΅œμ†Œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ

κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” λŒ€μ€‘μ μ΄κ³  κ°„κ²°ν•œ κΈ°μ€€μž…λ‹ˆλ‹€.

768px λ―Έλ§Œμ€ λͺ¨λ°”일 κΈ°κΈ°, 768px ~ 1024px μ‚¬μ΄λŠ” 타블렛, 1024px 이상은 λ°μŠ€ν¬νƒ‘ 기기둜 ꡬ뢄을 ν•©λ‹ˆλ‹€.

λŒ€λΆ€λΆ„ λ””λ°”μ΄μŠ€μ— 잘 맞고, λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμ„ μœ„ν•œ CSS μž‘μ„±λ„ κ°„κ²°ν•˜κΈ° λ•Œλ¬Έμ— νŠΉλ³„ν•œ λ ˆμ΄μ•„μ›ƒμ΄ μ•„λ‹ˆλ©΄ 이 κΈ°μ€€μœΌλ‘œ λ―Έλ””μ–΄ 쿼리λ₯Ό μž‘μ„±ν•˜λ©΄ λ©λ‹ˆλ‹€.

 

μ΅œμ†Œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ

 

λ―Έλ””μ–΄ μΏΌλ¦¬λŠ” λ‹€μŒκ³Ό 같이 μž‘μ„±ν•©λ‹ˆλ‹€.

 

/* λ°μŠ€ν¬νƒ‘ */

@media screen and (max-width:1023px) {
/* 타블렛 */
}

@media screen and (max-width:767px) {
/* λͺ¨λ°”일 */
}

 

미디어쿼리λ₯Ό μž‘μ„±ν•  λ•Œ 자주 ν˜Όλ™ν•˜λŠ” κ²½μš°κ°€ 768pxλ₯Ό κΈ°μ€€μœΌλ‘œ λ‚˜λˆ„λ©΄ 768pxλ₯Ό 어디에 ν¬ν•¨μ‹œμΌœμ•Ό ν•˜λŠ”μ§€ μž…λ‹ˆλ‹€.

λͺ¨λ°”일은 767pxκΉŒμ§€(포함), 타블렛은 768px(포함) λΆ€ν„° 1023px(포함)κΉŒμ§€κ°€ λ©λ‹ˆλ‹€. ν¬ν•¨λ˜λŠ” κ²½κ³„μ„ μ˜ ν”½μ…€ 값이 ν¬ν•¨λ˜λŠ” μœ„μΉ˜λ₯Ό μ •ν™•νžˆ μ•Œκ³  μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

2. κ°€λ‘œλͺ¨λ“œ λ””λ°”μ΄μŠ€ 지원 λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ

λͺ¨λ°”일 기기와 타블렛 기기의 κ°€λ‘œλͺ¨λ“œ 화면을 λ³„λ„λ‘œ ꡬ뢄해 λ””λ°”μ΄μŠ€ μ‚¬μš©ν™˜κ²½μ„ μ΅œλŒ€ν•œ κ³ λ €ν•œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμž…λ‹ˆλ‹€.

λ‹€μ–‘ν•œ κΈ°κ°€ ν™˜κ²½μ„ κ³ λ €ν•΄μ„œ 졜적의 화면을 λ³΄μ—¬μ€˜μ•Ό ν•˜κ±°λ‚˜, κ·Έλ¦¬λ“œ ν˜•νƒœλ‘œ λ§Žμ€ 컨텐츠λ₯Ό ν‘œμ‹œν•˜λŠ” λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμΈ 경우 λ‹€μŒκ³Ό 같이 κ΅¬λΆ„ν•©λ‹ˆλ‹€.

 

κ°€λ‘œλͺ¨λ“œ 지원 λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ

 

λ―Έλ””μ–΄ μΏΌλ¦¬λŠ” λ‹€μŒκ³Ό 같이 μž‘μ„±ν•©λ‹ˆλ‹€.

 

/* λΉ…λ°μŠ€ν¬νƒ‘ */

@media screen and (max-width:1799px) {
/* λ°μŠ€ν¬νƒ‘ */
}

@media screen and (max-width:1199px) {
/* 타블렛 κ°€λ‘œ */
}
@media screen and (max-width:899px) {
/* λͺ¨λ°”일 κ°€λ‘œ, 타블렛 μ„Έλ‘œ */
}

@media screen and (max-width:599px) {
/* λͺ¨λ°”일 μ„Έλ‘œ */
}

 

λ°˜λ“œμ‹œ 정해진 ν¬κΈ°λŠ” μ•„λ‹ˆλ©°, 많이 μ‚¬μš©ν•˜λŠ” 해상도λ₯Ό κΈ°μ€€μœΌλ‘œ κ΅¬λΆ„ν•œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒμœΌλ―€λ‘œ λ°˜μ‘ν˜• λ ˆμ΄μ•„μ›ƒ νŠΉμ„±μ— 맞좰 해상도 ꡬ뢄을 μž„μ˜λ‘œ ν•΄μ„œ λ ˆμ΄μ•„μ›ƒμ΄ 졜적으둜 보일 수 μžˆλ„λ‘ 맞좜 수 μžˆμŠ΅λ‹ˆλ‹€.

 

728x90