» » Hướng dẫn tạo responsive web design

Hướng dẫn tạo responsive web design

Bài viết này sẽ giúp các bạn hình dung được cách cơ bản tạo một website với giao diện responsive design. Xu hướng thiết kế website trong năm 2014 và những năm tới sẽ là responsive web vì sự bùng nổ của các thiết bị công nghệ thông minh như smartphone và máy tính bảng. Còn bây giờ hãy mở editor ra và bắt tay vào code ngay nào.

Đầu tiên hãy bắt đầu với code HTML cơ bản nào

<!DOCTYPE html>

<html lang=”en”>

<head>
<meta charset=”utf-8″/>
<title> Demo | Responsive Web</title>
<script src=”//html5shiv.googlecode.com/svn/trunk/html5.js”></script>
<script type=’text/javascript’ src=’scripts/respond.min.js’></script>
</head>

<body>
<div id=”wrapper”>
   <header>
      <nav id=”skipTo”>
         <ul>
            <li><a href=”#main” title=”Skip to Main Content”>Skip to Main Content</a></li>
         </ul>
      </nav>

      <h1>Demo</h1>

      <nav>
         <ul>
            <li><a href=”#” title=”Home”>Home</a></li>
            <li><a href=”#” title=”About”>About</a></li>
            <li><a href=”#” title=”Work”>Work</a></li>
            <li><a href=”#” title=”Contact”>Contact</a></li>
         </ul>
      </nav>
      <div id=”banner”><img src='' class='imgloading' data-original=”images.jpg” alt=”banner” /></div>
   </header>

   <section id=”main”>
         <h1>Thiết kế website SEA GEM</h1>
         <p>Content 1</p>
   </section>

   <aside>
      <h1>
Thiết kế website SEA GEM - Sự lựa chọn của bạn</h1>
      <p>Content 2</p>
   </aside>
</div>

</body>
</html>



Các yếu tố quan trọng của sự linh hoạt trong thiết kế đáp ứng là chiều rộng linh hoạt.Tất cả bạn cần làm là tạo ra một vỏ bọc, nội dung, và độ rộng cột sẽ thích ứng với độ rộng của các thiết bị khác nhau. Điều đó không có gì mới, nhưng bây giờ quan trọng hơn bao giờ hết. Để giữ cho mọi thứ đơn giản, tôi sẽ chỉ cho bạn cách để tạo ra một trang linh hoạt bao gồm navigation bar,hình ảnh và tính năng hai cột, trong đó có xem xét bố trí trên các thiết bị có kích thước khác nhau. Bạn sẽ nhận thấy tôi đã include respond.min.js nó là một chuỗi các javascript cho phép truy vấn phương tiện truyền thông để làm việc trong IE6-8.

Ý tưởng để thực hiện responsive design đó là dùng CSS để thiết lập chiều rộng của các thành phần tưởng ứng với chiều rộng của các thiết bị người dùng.Có một vấn đề chính khi chuyển đổi từ độ rộng cố định sang dạng linh hoạt đó là chiều rộng của ảnh.Bạn có thể dễ dàng làm điều này trong CSS của bạn chỉ cần thiết lập chiều rộng của ảnh là 100%.

Dưới đây là code CSS style cho trang trên

/* Structure */

    #wrapper { width: 96%;  max-width: 920px;  margin: auto; padding: 2%; }
    #main {width: 60%; margin-right: 5%; float: left;}
    aside {width: 35%;float: right;}

/* Logo H1 */

    header h1 {height: 70px; width: 160px; float: left; display: block;background: url(https://seagem.vn/images/demo.gif) 0 0 no-repeat; text-indent: -9999px; }

/* Nav */

    header nav {float: right; margin-top: 40px; }
    header nav li { display: inline; margin-left: 15px;}
    #skipTo { display: none;}
    #skipTo li {background: #b1fffc;}

/* Banner */

    #banner {float: left; margin-bottom: 15px; width: 100%;}
    #banner img {width: 100%;}



Sử dụng hình ảnh lớn có thể ảnh hưởng đến thời gian tải, do đó trên khung nhìn nhỏ hơn, nơi họ là không cần thiết có một phương pháp đáp ứng hình ảnh mà bạn sẽ phát hiện người sử dụng kích thước màn hình và kéo trong hình ảnh nhỏ hơn / lớn hơn tùy thuộc vào những gì là cần thiết. Hiện vẫn còn một số thách thức lớn với phương pháp này nhưng vẫn còn giá trị xem xét. Mat Marquis, một thành viên của nhóm jQuery mobile, đã viết một bài viết tuyệt vời về phương pháp này và ông giải thích những ưu và khuyết điểm như sau

Lý do chính mà bạn có thể muốn chuyển đổi từ giao diện cố định là do thu hẹp có thể trở thành không thể đọc được và khó bấm. Bằng cách sử dụng phương pháp này, bạn đang cho phép người dùng truy cập dễ dàng hơn. Bạn cũng sẽ nhận thấy trong mã mà chúng tôi đã thực hiện một số thay đổi đối với các phần #main và sang một bên để chuyển đổi chúng cho một cột.

Để cho phép truy vấn phương tiện truyền thông của bạn có hiệu lực đầy đủ một trang web di động tối ưu hóa điển hình có chứa đoạn code sau (nhét vào head tag)

<meta name=”viewport” content=”width=device-width, minimum-scale=1.0, maximum-scale=1.0″ />


Code CSS cho các thiết bị di động

/* Media Queries */

    @media screen and (max-width: 480px)
    {
          #skipTo {display: block;}
          header nav, #main, aside {float: left; clear: left; margin: 0 0 10px; width: 100%;}
          header nav li {margin: 0;background: #efefef; display: block; margin-bottom: 3px;}
          header nav a {display: block;padding: 10px; text-align: center;}
    }


Bạn sẽ thấy trên một số thiết bị di động trang web của bạn sẽ tự động co bản thân để phù hợp với màn hình. Để test thành quả vừa rồi các bạn có thể upload lên host rồi dùng các thiết bị di dộng để test hoặc đơn giản hơn các bạn có thể dùng trình duyệt của mình. Hãy mở trên firefox,chrome rồi thu nhỏ trình duyệt bạn sẽ thấy website tự co giãn theo.

Các bạn tự hỏi Reponsive design là gì? Lợi ích có thể đem lại từ reponsive design hãy xem thêm bài viết Responsive design là gì ?

Trên đây là phần hướng dẫn  tạoresponsive web design hy vọng rằng mọi người thấy có ích với bài viết này.