[기초CSS 강좌 ] 반응형 레이아웃 만들기(홈페이지만들기)

 .

 

반응형 홈페이지 만들기

웹사이트의 레이아웃을 만들 때 방문자가 사용하는 모니터의 화면 해상도를 고려해야 합니다. 너무 크게 가로폭을 만들면 작은 해상도의 모니터로 접속했을 때 가로 스크롤이 생겨 컨텐츠를 보는 게 불편하기 때문입니다.

특히 스마트폰이나 태블릿 등 모바일 기기는 화면이 작기 때문에 가독성에 더욱 신경써야 합니다.

이러한 문제를 해결하는 방법 중의 하나가 반응형 웹디자인입니다. 해상도에 따라 가로폭이나 배치를 변경하여 가독성을 높이는 것입니다.

@media

이러한 작업을 할 수 있게 해주는 것이 @media입니다. 예를 들어
@media ( max-width: 768px ) {
  body { color: red; }
}

와 같이 하면, 웹브라우저의 가로 해상도가 768px 이하일 때 글자색을 빨간색으로 바꿉니다. 즉, 모바일 기기의 해상도를 고려하여 적절히 CSS를 수정하거나 추가하는 것이 가능합니다.

주의할 점은 가로폭 조정을 위해서 HTML 문서의 <head>와 </head> 사이에 다음의 코드를 넣어야 한다는 것입니다.
<meta name="viewport" content="width=device-width, initial-scale=1">

모바일 우선(Mobile First) VS 데스크톱 우선(Desktop First)

작은 가로폭부터 큰 가로폭 순서로 만드는 것을 모바일 우선(Mobile First), 큰 가로폭부터 작은 가로폭 순서로 만드는 것을 데스크톱 우선(Desktop First)이라고 합니다.

모바일 우선(Mobile First)

작은 가로폭부터 큰 가로폭 순서로 만들고, min-width를 이용합니다.
A
@media ( min-width: 768px ) {
  B
}
@media ( min-width: 1024px ) {
  C
}

기본 모양은 A, 768px 이상일 때는 B, 1024px 이상일 때는 C가 적용됩니다.

Bootstrap 등 대부분의 프레임워크는 모바일 우선으로 만들어져 있습니다.

데스크톱 우선(Desktop First)

큰 가로폭부터 작은 가로폭 순서로 만들고, max-width를 이용합니다.
A
@media ( max-width: 1023px ) {
  B
}
@media ( max-width: 767px ) {
  C
}

기본 모양은 A, 1023px 이하일 때는 B, 767px 이하일 때는 C가 적용됩니다.

 

예제 1

데스크톱 우선으로 만든 간단한 반응형 레이아웃 예제입니다.
<!doctype html>
<html lang="ko">
  <head>
    <meta charset="utf-8">
    <title>CSS</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      #jb-container {
        width: 940px;
        margin: 10px auto;
        padding: 20px;
        border: 1px solid #bcbcbc;
      }
      #jb-header {
        padding: 20px;
        margin-bottom: 20px;
        border: 1px solid #bcbcbc;
      }
      #jb-content {
        width: 580px;
        padding: 20px;
        margin-bottom: 20px;
        float: left;
        border: 1px solid #bcbcbc;
      }
      #jb-sidebar {
        width: 260px;
        padding: 20px;
        margin-bottom: 20px;
        float: right;
        border: 1px solid #bcbcbc;
      }
      #jb-footer {
        clear: both;
        padding: 20px;
        border: 1px solid #bcbcbc;
      }
      @media ( max-width: 480px ) {
        #jb-container {
          width: auto;
        }
        #jb-content {
          float: none;
          width: auto;
        }
        #jb-sidebar {
          float: none;
          width: auto;
        }
      }
    </style>
  </head>
  <body>
    <div id="jb-container">
      <div id="jb-header">
        <h1>기독교인의 삶 </h1>
      </div>
      <div id="jb-content">
        <h2>2018년 새해기도문</h2>
        <p>
 거룩하신 하나님!

이 시간 말씀을 통하여 은혜를 베풀어주시옵소서.

믿음 소망 사랑을 더하시며 하나님을 아는 지혜를 더하시며

성령의 능력으로 사로잡아주시며 소명의식으로 가득하게 하소서.

하나님 앞에서 거룩한 삶을 위한 진지한 결단을 갖게 하소서.
 

새해에도 그리스도 안에서 저희들 꾸준히 영적 성장을 하게 하시고

교회의 모든 식구들에게 육신의 건강과 가정의 평화를 주시며

저희 교회가 주의 은혜와 능력 가운데서 부흥 발전하며 예배, 교육, 친교, 선교, 봉사 등

교회 본분에 충실하게 하시며 저희 모두의 삶이 하나님의 영광을 나타내는

삶이 되게 하여 주시옵소서.
 
       
        </p>
      </div>
      <div id="jb-sidebar">
        <h2>Sidebar</h2>
        <ul>
          <li>믿음</li>
          <li>소망</li>
          <li>사랑</li>
        </ul>
      </div>
      <div id="jb-footer">
        <p>Copyright</p>
      </div>
    </div>
  </body>
</html>

 

위 코드 결과입니다.  컴퓨터에서

 

 

모바일에서

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,

 

 

오늘은 홈페지에 어떻게 이미지을 올리는지를 학습해 봅니다.

이미지 띄우는 태그는 <img src="이미지 주소" alt="이미지 설명" /> 입니다.

단독태그이므로 닫기전에 /를 붙이고요.

 

그리고 이미지 태그에 직접적으로 가로길이 세로길이도 적용 가능 합니다.

가로 길이는 width="숫자(단위는 픽셀)"

세로 길이는 height="숫자(단위는 픽셀)" 입니다.

 

alt="이미지설명" 은 이미지에 마우스를 대고 있으면 띄어지는 글입니다. 즉 이 이미지에 대한 설명인데요.

로봇사진이라고 하면 우리가 로봇이라고 적어 놓으면 로봇이라는 글이 띄어집니다.

alt=""를 적지 않으면 웹표준 검사에서 워링이나 에러에 걸립니다.

왜 이것을 해주냐고 하면은 이미지에 대한 정확한 설명을 해줄수도 있고요.

시각장애를 갖고 있는 분께서 웹을 이용할경우 그 이미지가 어떤 이미지인지를 읽어 주는 도구가 있는데요

그 도구가 우리가 작성한 alt="설명" 를 시각장애를 갖고 있는 분께 읽어 준답니다.

이러한 것을 웹접근성이라고 하는데요. 저도 웹접근성은 잘 모릅니다만. 아무튼 그러합니다.

이렇게 사용하면 되구요.

 

<img src="asimo.jpg" alt="아시모사진, photo of asimo" />

가로 길이 적용할시

<img src="asimo.jpg" width="500" alt="아시모사진, photo of asimo" />

 

위와같이 원하는값 적용하고요.위와같은 경우는 세로값이 적용이 되어있지 않은데요 비율을 조정해서 세로값은정해진답니다.

반대로 세로값만 적용하면 세로값에 대한 비율로 가로값이 적용됩니다.

비율을 적용하지 않고 가로 세로값을 적용하면 비율이 안맞아서 보기 안좋을수도 있습니다.

 

Tip:혹시 이거 보고 웹상에서 돌아다니는 이미지 주소 알아 내기 하시려면 이미지에 마우스 오른쪽 클릭 속성

가셔서 이미지 주소 보시면 됩니다.

 

이 이미지가 아닌 다른 자신의 컴퓨터에 있는 이미지로 테스트가 하고 싶으실 경우에는 테스트 하고 계신 html파일이 있는 폴더에 이미지를 넣으시고

<img src="이미지명" alt="" />하시면 됩니다.

 

<!DOCTYPE html>

<html>

<head>

<title>이미지 띄우기</title>

</head>

<body>

<h1>이미지 띄우기</h1>

<img src="http://www.yaoo.com/asimo.png" alt="폴리아카데미 사진" />

<p>가로값만 넣어보기</p>

<img src="http://www.yaoo.com/asimo.png" width="500" alt="폴리아카데미 사진" />

<p>세로값만 넣어보기</p>

<img src="http://www.yaoo.com/asimo.png" height="300" alt="폴리아카데미 사진" />

<p>세로값을 원본 길이보다 더 늘릴 경우</p>

<img src="http://www.yaoo.com/asimo.png" height="700" alt="폴리아카데미 사진" />

<p>비율을 고려하지 않고 가로값 세로값 모두 넣기</p>

<img src="http://www.yaoo.com/asimo.png" width="500" height="500" alt="폴리아카데미 사진" />

</body>

</html>

   

이미지라 결과가 길어서 따로 띄우지 않겠습니다. 소스테스트는 했으니 위 소스로 테스트 하시면 됩니다

앞 강좌에서 배운 하이퍼링크 태그를 이용하여 이미지를 클릭했을때 원하는 링크를 걸은 주소로 이동해 봅시다.

매우 간단합니다. 이미지 태그를 하이퍼링크 태그로 씌어주면 됩니다. 제 블로그로 한번 띄어 볼까요?

 

먼저 하이퍼 링크 태그를 작성하고 주소는 http://mp17_2.blog.me 로 합니다. <a href="http://mp17_2.blog.me"></a>

그리고 하이퍼링크 태그 안에 이미지 태그를 넣어 줍니다.

이미지 주소는 이것으로 합시다.

http://www.yaoo.com/asimo.png

이미지 태그는   <img src="http://yaoo.com/asimo.jpg" alt="machine" />

그럼 위의 이미지 태그를 하이퍼 링크에 넣으면

<a href="http://mp17_2.blog.me" target="_blank">< src="http://www.yaoo.com/asimo.png" alt="machine" /></a>

가 됩니다.

위의 주소의 경우도 제측문제로 줄바꿈을 했는데요 실습하실때는 한줄로 해주시면 됩니다.

 

이상하게 연습장 에서 링크 연결시 "를 사용 하면 안되고 ''를 사용해야 하네요 참고 해주세요 아래 소스를 그대로 에디터에 붙여넣기 하셔서 테스트 하시면 됩니다.

<!DOCTYPE html>

<html>

<head>

<title>폴리아카데미 홈페이지 바로가기</title>

</head>

<body>

<a href='http://mp17_2.blog.me' target='_blank'><img src='http://www.polyacademy.co.kr/asimo.png' alt='polyacademy' /></a>

</body>

</html

 

여러분들은 여러분들의 블러그나 홈페이지에 이미지를 바꿔가면서 연습해보시길 바라면서 오늘은 여기서 마칩니다.
블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,