PDA

View Full Version : Thiết kế web responsive: Khái niệm và cách sử dụng



intelprotin4
11-05-2013, 09:59 AM
Sự phát triển nhanh chóng của các tablet pc và mạng 3G đặt ra một yêu cầu chính đáng cho những người thiết kế web: giao diện trang web phải thích nghi được trên từng loại thiết bị dù cho người đó dùng Iphone, iPad, netbook, BlackBerry, Kindle hay những chiếc điện thoại di động có màn hình nhỏ. Và trong 5 năm tới sẽ còn rất nhiều thiết bị được đưa ra thị trường với vô vàng các ràng buộc mới và nhiều kích thước màn hình khác nhau, bài toán này sẽ làm những người thiết kế tiếp tục đau đầu trong thời gian sắp tới.

Phát triển nhiều phiên bảng khác nhau cho từng thiết bị? Rõ ràng đó không phải là một lựa chọn tốt, bởi với vô vàng các thiết bị hiện tại đã khiến chúng ta phải mệt mỏi để hỏ trợ từng đấy thiết bị chưa tính đến những năm sau khi “thời của tablet” lên đến đỉnh điểm. Vậy bạn phải hy sinh một lượng người dùng trên một vài loại thiết bị nào đó hay có còn một lựa chọn nào khác?

Thiết kế web responsive là một khái niệm khuyến cáo những người thiết kế và người phát triển phải đáp ứng và thích nghi được với môi trường của người dùng về kích thước màn hình, platform, trạng thái xoay hay đứng.

Khái niệm về Thiết kế webresponsive

Trong ngành thiết kế responsive architecture không phải là khái niệm xa lạ, bạn có bao giờ để ý đến những cánh cửa tự động đóng mở, nó sẽ tự động mở ra một khoản không gian vừa đủ cho một người hoặc nhóm người bước vào. Một hệ thống điều chỉnh điều hòa và ánh sáng tự động điều tiết nhiệt độ và ánh sáng tùy theo số lượng người đang có trong phòng…

Responsive web design không phải là ý tưởng hoàn toàn mới, nó kế thừa và tương tự như responsive architecture, trang web khi được thiết kế phải có khả năng tự động điều chỉnh để thích nghi với nhiều nhóm người sử dụng khác nhau.

Hiển nhiên một điều chúng ta không thể dùng một cảm biến hoặc một chip thông minh như cách mà người ta làm khi xây dựng cửa tự động hay hệ thống nhà thông minh. Chúng ta phải nhìn nhận nó một cách khá trừu tượng. Hiện tại, một vài ý tượng đã được sử dụng: fluid layout, media queries và script có thể định dạng lại trang web và mark-up khá tốt.

Bạn cũng nên nhớ rằng responsive web design không chỉ là việc tùy chỉnh cho phù hợp với kích thước màn hình và resize lại hình ảnh, nó mở ra một cách nghĩ hoàn toàn mới về thiết kế. Chúng ta sẽ lượt qua những ý tưởng đã được sử dụng và những ý tưởng đang còn nằm trên bàn giấy.

Độ phân giải màn hình

Càng nhiều thiết bị, càng nhiều độ phân giải khác nhau, sự phổ biến của những thiết bị như iPhone, iPad và các smartphone có thể chuyển từ dạng xem ngang và đứng một cách nhanh chóng.

http://farm8.staticflickr.com/7166/6833257369_b62495ef01_z.jpg

Thêm nữa khi thiết kế cho cả màn hình nằm ngang và màn hình đứng, chúng ta phải tính đến hàng trăm kích thước màn hình khác nhau. Ta có thể nhóm một số kích thước lại với nhau và thiết kế cho từng nhóm một, và thiết kế riêng cho từng nhóm này nếu cần thiết. Bên cạnh đó bạn cũng phải biết rằng khá nhiều người dùng không bao giờ maximize trình duyệt của mình.


http://farm8.staticflickr.com/7158/6833257601_8914453c53_z.jpg
Layout linh hoạt

Một vài năm trước, khi flexible layout còn là thứ gì đó xa xỉ đối với website. Thứ duy nhất flexible trong thiết kế là số lượng cột và text. Ảnh có thể dễ dàng làm “vỡ” cấu trúc website. Việc thiết kế trên một khoảng kích thước tính bằng pixel khiến người thiết kế lúng túng khi trang web chuyển giữa các kích thước khung hình khác nhau.

http://farm8.staticflickr.com/7018/6833257939_089897ccf3_z.jpg

Hình ảnh cần phải được tự động điều chỉnh và không được phép làm vỡ cấu trúc website, vì ta không làm một sản phẩm in ấn. Khi kích thước ảnh không bị fix ở một giá trị nào đó, nó mang lại nhiều lợi ích hơn mong đợi, ý tưởng tuyệt vời cho những những thiết bị có thể xoay ngang và đứng.

Filament Group’s Responsive Images

Kỹ thuật này được giới thiệu bới Filement Group, theo đó thay vì resize lại hình ảnh, sẽ load hẳn một ảnh khác khi cần, cách này có thể tiết kiệm được việc load ảnh lớn ko cần thiết với các thiết bị nhỏ xem demo tại đây.

http://farm8.staticflickr.com/7146/6833258749_05298a46ba_z.jpg

<img src="smallRes.jpg" data-fullsrc="largeRes.pg">

Media Queries

CSS 3 vẫn hổ trợ đầy đủ media type từ CSS2.1 như screen, print, handheld, và đã bổ sung khá nhiều khai báo mới như max-width, device-width, orientation, color. Mai mắn thay những thiết bị chạy android, ipad đều không sử dụng trình duyệt IE!!! nên bạn an tâm khi sử dụng những thuộc tính css 3.


<link rel="stylesheet" media="screen and (max-width: 600px)" type="text/css" href="shetland.css" />

Các truy vấn css có thể viết một cách tối giản và nó là hiệu quả nhất để sử dụng.

/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
/* Styles */
}
/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
/* Styles */
}
/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
/* Styles */
}

JavaScript
Một phương thức có thể được sử dụng là javascript. Đặc biệt là khi bạn sao lưu với một thiết bị không hỗ trợ các câu lênh css3. Thư viện java script này thì có trước sẵn dành riêng cho các trình duyệt cũ như: IE+5, FireFox+1,Safari2..) hỗ trợ css3 có thể chạy tốt trên nó.

Nếu bạn đã sử dụng nhiều các câu lệnh mà trình duyệt được nên trên không hỗ trợ thì bạn không cần phải quá lo lắng .
Bạn chỉ cần một bản sao lưu thư viện CSS3-mediaqueries.js và viết những câu lệnh thêm và để hỗ trợ tốt cho css3.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">
</script> <script type="text/javascript"> $(document).ready(function(){ $(window).bind("resize", resizeWindow); function resizeWindow(e){ var newWindowWidth = $(window).width(); // If width width is below 600px, switch to the mobile stylesheet if(newWindowWidth < 600){
$("link[rel=stylesheet]").attr({href : "mobile.css"});}{ $("link[rel=stylesheet]").attr({href : "style.css"}); } } }); </script>

Ẩn hoặc hiển thị nội dung

Rõ ràng việc chỉ hiển thị những nội dung thật sự cần thiết trên những thiết bị có kích thước nhỏ là cần thiết, kinh nghiệm cho thấy trên các thiết bị di động bạn chỉ nên có một thanh navigation đơn giản, nhấn mạnh nội dung, xem dạng list niều dòng tốt hơn là chia thành nhiều cột

http://farm8.staticflickr.com/7020/6833259143_39be4f50ac_z.jpg


Touchescreen vs. Cursors

màn hình cảm ứng ngày càng phổ biến. Những thiết bị có màn hình cảm ứng thường có kích thước nhỏ, rõ ràng bạn phải thấy được rằng việc tương tác qua ngón tay cần một khoản không gian lớn hơn như khi dùng chuột, màn hình cảm ứng cũng chẳng hề có trạng thái hover khi gì bạn chỉ có chạm và chạm

http://farm8.staticflickr.com/7153/6833259449_611b13f52a_z.jpg


Tổng Kết

Web design không đơn thuần là tạo ra sản phẩm đẹp trong mắt người dùng mà còn là công việc tạo ra trải nghiệm mới cho người dùng.Thiết kế web responsive nếu được implement tốt sẽ tăng trải nghiệm người dùng những không thể giải quyết cho tất cả mọi người dùng mọi loại thiết bị, mọi nền tảng, nó sẽ còn được tiếp tục cải thiện trong nhiều năm tới, nhưng bạn có thể áp dụng nó ngay hôm nay cho những dự án mới.

Nguồn http://www.ddth.com/showthread.php/1189205-Thi%E1%BA%BFt-k%E1%BA%BF-web-responsive-Kh%C3%A1i-ni%E1%BB%87m-v%C3%A0-c%C3%A1ch-s%E1%BB%AD-d%E1%BB%A5ng

myhanh.dt
11-09-2014, 03:14 PM
Bên mình cũng chuyên về thiết kế website nhưng khách hàng hầu như không lựa chọn responsive. Vì họ nói, đt bây giờ cái nào cũng có chức năng zoom hình ảnh rồi, cần gì phải dùng responsive. Nghĩ cũng đúng!

Các bạn học thiết kế website nên tìm hiểu về bootstrap, cái không chỉ áp dụng để làm responsive mà còn giúp css nhanh hơn nhiều.