• 회원가입
  • 로그인
  • 구글아이디로 로그인

[responsive] HTML - Responsive Web Design (반응형 웹디자인) 장단점 + 홈페이지 제작법

목차
  1. 반응형 작업 전 고려사항
  2. 반응형 웹 장단점
  3. 반응형 제작법 종류
  4. 반응형 해상도 분기점
  5. 반응형 예제 (@media 쿼리)
  6. 반응형 viewport (뷰포트 = 브라우저 창크기)
  7. 반응형 이미지 - (사이즈 변동 + 다른 이미지 노출)
  8. 반응형 텍스트 - vw 단위
  9. 반응형 BS 레이아웃

 

반응형 작업 전 고려사항 

 

Mobile First (모바일 우선) 

: 작은 기기에서 큰 기기로 확장하며 레이아웃 고려.

 

Wireframe (대략적 배치) 

: 작업 전 대략적인 레이아웃 배치를 그려보고 작업.

 

각 요소에 id 및 class 부여 

: 선택자가 명확해야 CSS 및 JS 작업하기에 수월함.

 


반응형 웹 장단점

[장점]

 

1. 동일 주소 사용 가능. 

PC, 모바일 분리형이라 해서 주소가 꼭 다른 것만은 아님.

 

2. 유지 보수 관리 용이. 

퍼블리싱 양이 더 적고, 수정 시 수정할 양도 줄어듦.

 

3. 콘텐츠 내용 전달성 ↑  

화면 해상도에 맞게 레이아웃 변해서 콘텐츠 보기 편함.

 

4. 검색 엔진 노출 가능↑ 

동일 콘텐츠에 대한 주소 단일성으로 인해서 좀 더 선호.

 

5. 사이트 제작비 절감. 

퍼블리싱 양 줄어들어, PC 모바일 분리형보다 더 저렴.

 


[단점]

 

1. 로드 속도 ↓  

페이지 구성 코드량. + PC 모바일 동일 이미지 사용.

 

2. HTML 코드 복잡↑ 

많은 선택자와 속성 사용으로 지저분해짐. ㅡㅡ;

 

참고: https://youtu.be/3Vz-Nk417qs

PS. 적응형 (= PC 모바일 분리형)

 

반응형 제작법 종류

 

flex, grid, %, vw, vh 등의 CSS 활용.

 


 


<table>이나 <div> 태그에 float:left 속성 줘서
브라우저 폭에 따라 자연스레 옆이나 아래로 움직이게 하는 법
예제보기

② 

CSS의 @media 속성을 이용해서
브라우저 좌우 폭이나 기기에 따라 스타일을 별도로 직접 지정해 제작하는 법
예제보기

③ 
W3.CSS 나 BOOTSTRAP 등 이미 짜여진 CSS 프레임워크 가져와 그 선택자를 이용하는 법
https://homzzang.com/b/css-254  (19번 참조)


④ 
반응형 빌더/테마 이용.


PS. ③ ④ 경우는 ② 방법을 활용해 미리 적절하게 세팅해놓은 것들임.

 

반응형 해상도 분기점

[예전]

 

320 ~ 767 : 모바일

768 ~ 1023 : 태블릿

1024 ~ : 데스크탑

 


[최근]

 

320 ~ 480 : 모바일 세로

480 ~ 767 : 모바일 가로 + 태블릿 세로
768 ~ 1023 : 테블릿 가로

1024 : 데스크탑

 


cf. 아미나 (BS3)

 

~ : 노트북・데스크탑

~ 991 : 태블릿

~ 767 : 모바일 가로

~ 480 : 모바일 세로

 


cf. 나리야 (BS4)

 

1200 ~ : 데스크탑

992 ~ : 태블릿 가로・노트북

768 ~ : 태블릿 세로

576 ~ : 모바일 가로

~ 575 : 모바일 세로


PS. 사용자마다 또 프레임워크마다 다름.

 

반응형 예제 (@media 쿼리)

 

<!DOCTYPE html>

<html lang='ko'>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<style>

* {

  box-sizing: border-box;

}

.box {

  overflow:auto

}

.left {

  float: left;

  width: 20%;

}

.menuitem {

  padding: 8px;

  margin-top: 7px;

  border-bottom: 1px solid #f1f1f1;

}

.center {

  float: left;

  width: 60%;

  padding: 0 20px;

  overflow: hidden;

}

.center img {

  max-width:100%;;

}

.right {

  background-color: PeachPuff;

  float: left;

  width: 20%;

  padding: 10px 15px;

  margin-top: 7px;

}


@media only screen and (max-width:750px ) {

  /* 태블릿 */

  .center {

    width: 80%;

    padding: 0;

  }

  .right {

    width: 100%;

  }

}

@media only screen and (max-width:500px) {

  /* 모바일 */

  .left, .center, .right {

    width: 100%;

  }

}

  

body {font-family:Verdana;}

.header {background-color:gray; color:white; padding:15px;}

.footer {background-color:silver; text-align:center; padding:10px; margin-top:7px; font-size:12px;}

</style>

</head>

  

<body>


<div class="header">

  <h1>홈짱닷컴</h1>

  <h3>Homzzang.com</h3>

</div>


<div class="box">

  <div class="left">

    <div class="menuitem">HTML</div>

    <div class="menuitem">CSS</div>

    <div class="menuitem">JS</div>

    <div class="menuitem">JQUERY</div>

  </div>


  <div class="center">

    <h2>홈페이지 제작</h2>

    <p>HTML (뼈대) + CSS (디자인) + JS (기능)</p>

    <img src="https://source.unsplash.com/random">

  </div>


  <div class="right">

    <h2>HTML</h2>

    <p>홈페이지 기본골격 (= 레이아웃)을 코딩.</p>

    <h2>CSS</h2>

    <p>골격을 보완하고, 디자인을 입힘.</p>

    <h2>JS</h2>

    <p>홈페이지에 역동적인 동작과 기능 추가</p>

  </div>

</div>

 

<div class="footer">
    홈짱닷컴 Homzzang.com
</div>


</body>

</html>


결과보기

 

 

 

▒ 반응형 웹 제작 시 고려 사항

 

1.

반응형 viewport (뷰포트 = 브라우저 창크기)

 

<meta name="viewport" content="width=device-width, initial-scale=1.0">

 

※ <head> 태그 안에 뷰포트 <meta> 태그 추가. (<head> 태그 없이도 가능하긴 함.)

※ 접속기기 화면해상도 정보를 브라우저에게 알려 화면 사이즈에 맞게 콘텐츠 표시케 함.
※ 모바일・태블릿으로 접속 시, PC 화면을 단순축소시킨 것처럼 보일 경우 이 코드 적용.

 

2.

반응형 이미지 - (사이즈 변동 + 다른 이미지 노출)

[사이즈 변동]

 

width:100%; height:auto;

이미지 원래 크기보다 더 커질 수 있음. (무조건 부모요소 너비 가득 참.)

max-width:100%; height:auto;

이미지 원래 크기보다 더 커지지 않음. (원래 이미지 크기 안에서 변동)

 


[다른 이미지]

 

<meta name="viewport" content="width=device-width, initial-scale=1.0">


<picture>

  <source srcset="small.jpg" media="(max-width: 600px)">

  <source srcset="large.jpg" media="(max-width:750px )">

  <source srcset="large.jpg">

  <img src="large.jpg" alt="Flowers" style="width:auto;">

</picture>

 

결과보기

 

3.

반응형 텍스트 - vw 단위

 

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<body>


<h1 style="font-size:10vw;">홈짱닷컴 Homzzang.com</h1>

<p style="font-size:5vw;">홈페이지 제작관리</p>

<p style="font-size:5vw;">그누보드 코딩언어</p>

<p>HTML CSS JS JQUERY PHP SQL</p>

 

결과보기


PS.

 

viewport

브라우저 창크기

 

vw 단위
1vw = viewport 너비의 1% (즉, 1/100)
(예: 뷰포트 너비가 1000px 일 때, 1vw는 10px)

 

 

4.

반응형 BS 레이아웃

 

BS3 - float 기반 그리드

https://getbootstrap.com/docs/3.4/getting-started/#download

 

BS4 - flex 기반 그리드

https://getbootstrap.com/docs/4.5/getting-started/introduction/

 

BS5 - JQuery 대신 Vanilla JS 사용.

https://v5.getbootstrap.com/

 


PS.

 

mdn responsive 강의

https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design


엘리 님 반응형 헤더 만들기 강의

https://youtu.be/X91jsJyZofw

 


방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
intro HTML - 준비물 + 추천링크 (※ 사용중지・사용폐기 태그) 2
intro HTML - 태그 문법 ★
basic HTML - <!DOCTYPE> 태그 ★ - 문서타입 (= !doctype태그 = !doctype요소 = …
basic HTML - <html> 태그 ★ - HTML문서 (= html태그/html요소 = 에이치티엠엘태그/에이치티…
basic HTML - <body> 태그 ★ - 문서영역 (= 문서본문영역 = body태그/body요소 = 바디태그/바…
font HTML - <h1> ~ <h6> 태그 ★ - 문단제목글씨크기 (= 표제태그 = 단락제목글자크기 = h1태그…
basic HTML - <p> 태그 ★ - 글단락 (= 글문단 = p태그/p요소 = 피태그/피요소)
basic HTML - <br> 태그 ★ - 줄바꿈 (=br태그/br요소 = 비알태그/비알요소) ※ 한줄아래로 줄바꿈 …
basic HTML - <hr> 태그 - 주제 다른 문단구분선 (= hr태그 = hr요소 = 가로선 = 수평선 = 에이…
basic HTML - <!--주석 내용--> 태그 ★ - 주석 처리 ※ 스크립트 태그 안 주석 의미
intro HTML - IE조건부주석 ★ (= 익스주석태그 = 익스플로러 조건문)
formatting HTML - <acronym> 태그 - 두문자어 (= acronym태그 = acronym요소 = 애크로님태그…
formatting HTML - <abbr> 태그 - 축약어/두문자어 (= abbr태그 = abbr요소 = 어브르태그 = 어브리…
formatting HTML - <address> 태그 - 연락처 (= address태그 = address요소 = 어드레스태그)
font HTML - <b> 태그 ★ - 굵은글씨 (= b태그 = 비태그) ※ 볼드태그 / bold태그 / 글씨 긁…
formatting HTML - <bdo> 태그 - 텍스트출력방향 (= bdo태그 = bdo요소 = 글자방향 = 브도태그 = …
1/18
목록
찾아주셔서 감사합니다. Since 2012