λ°˜μ‘ν˜• μ›Ή 이미지

λ°˜μ‘ν˜• μ›Ήμ΄λž€?

Google Developers

λ°˜μ‘ν˜• μ›Ή λ ˆμ΄μ•„μ›ƒμ€ 기기의 크기와 κΈ°λŠ₯에 따라 λ³€ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, νœ΄λŒ€ν°μ—μ„œλŠ” μ½˜ν…μΈ κ°€ ν•˜λ‚˜μ˜ column으둜 ν‘œμ‹œλ  수 μžˆμ§€λ§Œ νƒœλΈ”λ¦Ώμ—μ„œλŠ” 두 개의 column으둜 ν‘œμ‹œλ  수 μžˆμŠ΅λ‹ˆλ‹€.

  • λ°˜μ‘ν˜• 웹은 λ‹€μ–‘ν•œ 크기λ₯Ό 가진 κΈ°κΈ°λ“€μ—μ„œ μ›Ή νŽ˜μ΄μ§€μ˜ UIλ₯Ό μ˜λ„λŒ€λ‘œ 잘 보이도둝 ν•˜κΈ° μœ„ν•œ 기술둜
  • HTMLκ³Ό CSSλ§Œμ„ μ‚¬μš©ν•΄μ„œ λ°˜μ‘ν˜• μ›Ή 섀계가 κ°€λŠ₯ν•˜λ©°,
  • λ‹€μ–‘ν•œ κΈ°κΈ°λ₯Ό μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ UXλ₯Ό μ„ μ‚¬ν•˜κΈ° μœ„ν•œ 섀계 방식이닀.
    • λ‹€μ–‘ν•œ κΈ°κΈ°μ—μ„œ μ›Ή UIλ₯Ό μ˜λ„ν•œ λŒ€λ‘œ 보여주고,
    • μ˜λ„ν•œ λŒ€λ‘œ λ™μž‘ν•˜λŠ” μ›Ή νŽ˜μ΄μ§€λ₯Ό μ„€κ³„ν•˜κΈ° μœ„ν•¨μ΄λ‹€.

λ°˜μ‘ν˜• 웹을 μ„€κ³„ν•˜κΈ° μœ„ν•œ ν•΅μ‹¬κΈ°μˆ 

1. κ°€λ³€ κ·Έλ¦¬λ“œ(Fluid Grid)

  • μœ λ™ν˜• κ·Έλ¦¬λ“œλΌκ³  λΆ€λ₯΄κΈ°λ„ ν•œλ‹€.
  • μ„€κ³„μžκ°€ κ·Έλž˜ν”½ μš”μ†Œλ₯Ό 합리적이고 ν‘μˆ˜ν•˜κΈ° μ‰¬μš΄ λ°©μ‹μœΌλ‘œ ꡬ성할 수 μžˆλŠ” λΌˆλŒ€μ΄μž ν”„λ ˆμž„μ›Œν¬μ˜ 역할을 ν•œλ‹€.
  • 전체 UI에 톡일성을 λΆ€μ—¬ν•˜κ³  μΌκ΄€λœ λ””μžμΈμ„ μœ μ§€ν•˜μ—¬ ν™”λ©΄μ˜ 전체적인 κ· ν˜•μ„ 맞좜 수 μžˆμ–΄ λ”μš± κ²¬κ³ ν•œ λ””μžμΈμ„ μ œκ³΅ν•  수 μžˆλ‹€.
  • μ΄λŠ” μ‚¬μš©μžμ—κ²Œ 전문적이고 μ‹ λ’°μ„±κ³Ό μ•ˆμ •κ°μ„ μ œκ³΅ν•  수 μžˆλ‹€.
  • pxκ³Ό 같이 κ³ μ •λœ λ‹¨μœ„κ°€ μ•„λ‹ˆλΌ 상황에 맞게 λ³€ν•  수 μžˆλŠ” λ‹¨μœ„μΈ emμ΄λ‚˜ %λ₯Ό μ‚¬μš©ν•˜μ—¬ λΈŒλΌμš°μ € 크기에 따라 μœ λ™μ μœΌλ‘œ λ³€ν•  수 있게 ν•œλ‹€.

2. μœ μ—°ν•œ 이미지(Flexible Images)

  • λͺ¨λ“  ν™”λ©΄μ—μ„œ λ³Ό 수 μžˆλ„λ‘ ν™”λ©΄ 폭보닀 큰 이미지λ₯Ό λ‹€μš΄λ°›κ³  μ΄λ―Έμ§€μ˜ 넓이값을 100%, 높이값을 μžλ™(auto)둜 μ„€μ •ν•˜λŠ” 방법이닀.
  • λ‹¨μˆœνžˆ 이미지λ₯Ό ν™”λ©΄ 폭에 맞게 κ°€λ‘œ 및 μ„Έλ‘œμ˜ 길이λ₯Ό μ€„μ˜€λ‹€ λŠ˜μ˜€λ‹€ ν•  수 μžˆλ‹€.
  • λ‹€λ§Œ 웹을 κΈ°μ€€μœΌλ‘œ ν•  경우 λͺ¨λ°”μΌμ—μ„œλŠ” 해상도가 높은 이미지λ₯Ό 크기만 쀄여 λ©”λͺ¨λ¦¬λ₯Ό λ‚­λΉ„ν•˜λŠ” 상황이 λ°œμƒν•  수 μžˆλ‹€.
  • 이미지 외에 λΉ„λ””μ˜€ 등을 ν¬ν•¨μ‹œμΌœ μœ λ™ν˜• λ―Έλ””μ–΄(Flexible Media)라고 ν•˜κΈ°λ„ ν•œλ‹€.

3. λ―Έλ””μ–΄ 쿼리(Media Query)

  • λ””λ°”μ΄μŠ€ κ΄€λ ¨ λ‹€μ–‘ν•œ 정보λ₯Ό μ΄μš©ν•˜μ—¬ μ΅œμ ν™”λœ 화면을 μ œκ³΅ν•œλ‹€.
  • μ›Ή λ¬Έμ„œ λ‚΄ λ―Έλ””μ–΄ μŠ€νƒ€μΌ 섀정에 μ‚¬μš©ν•˜λŠ” λ―Έλ””μ–΄ 쿼리λ₯Ό μ΄μš©ν•˜λ©΄ 단말 ν™”λ©΄μ˜ ν­μ΄λ‚˜ 높이에 따라 λ ˆμ΄μ•„μ›ƒμ΄ μžλ™μœΌλ‘œ κ΅¬ν˜„λœλ‹€.
  • λŒ€ν‘œμ μΈ 기술둜 쒅속 μŠ€νƒ€μΌ μ‹œνŠΈ 3 버전(CSS3:Cascading Style Sheets Version 3)이 μžˆλ‹€.
  • @media νƒœκ·Έλ₯Ό CSS λ‚΄λΆ€ ν˜Ήμ€ 링크둜 μ—°κ²°ν•˜μ—¬ μ‚¬μš©ν•œλ‹€.

4. 뷰포트(View Port)

  • μ›ΉνŽ˜μ΄μ§€κ°€ μ‚¬μš©μžμ—κ²Œ λ³΄μ—¬μ§€λŠ” μ˜μ—­μ„ μ˜λ―Έν•˜λ©°, 졜적의 ν™˜κ²½μ„ μ œκ³΅ν•˜κΈ° μœ„ν•΄ ν™”λ©΄ λ„ˆλΉ„μ— 맞좰 μ›ΉνŽ˜μ΄μ§€λ₯Ό λžœλ”λ§ν•œλ‹€.

5. μ›Ήν‘œμ€€

  • ꡭ제 μ›Ήν‘œμ€€ν™” 기ꡬ인 W3Cμ—μ„œ μ§€μ •ν•œ HTML, CSS3둜 μ†ŒμŠ€μ½”λ“œλ₯Ό μž‘μ„±ν•œλ‹€.

λ°˜μ‘ν˜• μ›Ήμ˜ μž₯점과 단점

μž₯점

  1. λ””λ°”μ΄μŠ€ 기기의 ν˜Έν™˜ν•œλ‹€.
  2. 도메인 κ΅¬λΆ„μ—†λŠ” λ™μΌν•œ URL을 μ‚¬μš©ν•  수 μžˆλ‹€.
  3. κ°„νŽΈν•œ μœ μ§€λ³΄μˆ˜μ™€ λͺ¨λ‹ˆν„°λ§ν•  수 μžˆλ‹€.

단점

  1. λ§Žμ€ 컨텐츠λ₯Ό λ³΄μ—¬μ£ΌκΈ°μ—λŠ” ν•œκ³„κ°€ μžˆλ‹€.
  2. λ‘œλ”©μ†λ„κ°€ 느렀질 수 μžˆλ‹€.
  3. λ ˆμ΄μ•„μ›ƒ 변경이 μ–΄λ ΅λ‹€.

정리

μ‹œκ°„μ΄ μ§€λ‚˜λ©΄μ„œ μ‚¬λžŒλ“€μ΄ λ‹€μ–‘ν•œ κΈ°κΈ°, λ‹€μ–‘ν•œ 접속 방법을 톡해 μ›Ή νŽ˜μ΄μ§€λ‚˜ μ„œλΉ„μŠ€λ₯Ό μ΄μš©ν•˜κ²Œ λœλ‹€.

κΈ°νšμžλ‚˜ 개발자라면 λ‹€μ–‘ν•œ μ‹œκ°μ—μ„œ 생각을 ν•˜κ³ , μ–΄λ–€ μš©λ„λ‘œ ν™œμš©λ  μ„œλΉ„μŠ€μΈκ°€? or μ„œλΉ„μŠ€μ˜ νŠΉμ„±μ΄ 무엇인가?λ₯Ό νŒŒμ•…ν•œ ν›„ 상황에 μ•Œλ§žλŠ” λ°˜μ‘ν˜• 섀계방식을 μ„ νƒν•˜μ—¬ ꡬ좕해야 λœλ‹€κ³  생각이 λ“€μ—ˆλ‹€.


μš©μ–΄μ„€λͺ…

κ·Έλ¦¬λ“œ : λ””μžμΈμ—μ„œ λ‚΄μš©μ„ κ΅¬μ„±ν•˜λŠ”λ° μ‚¬μš©λ˜λŠ” 일련의 직선 λ˜λŠ” 곑선이 κ΅μ°¨ν•˜λŠ” ꡬ쑰λ₯Ό 의미


참고링크

λ°˜μ‘ν˜• μ›Ή λ””μžμΈ 기초

λ°˜μ‘ν˜• μ›Ή, κ°œλ… μ΄ν•΄ν•˜κΈ°

ν•΄μ‹œλ„· - λ°˜μ‘ν˜•μ›Ή