Mục Lục
Responsive Web Design là gì?
Responsive Web Design (RWD) là xu hướng mới theo đó quy trình thiết kế và phát triển web sẽ đáp ứng mọi thiết bị và môi trường của người dùng theo các tiêu chí kích thước và chiều của màn hình thiết bị.
Để làm được điều đó chúng ta sẽ sử dụng linh hoạt kết hợp các kỹ thuật bao gồm:
flexible grid,
responsive image
CSS media query.
Khi người dùng chuyển từ máy tính xách tay của họ sang iPad hay iPhone,
Trang web sẽ tự động chuyển đổi để phù hợp với kích thước màn hình và kịch bản xử lý.
Nói cách khác, các trang web cần phải có công nghệ tự động đáp ứng theo thiết bị của người dùng.
Điều này sẽ loại bỏ sự cần thiết cho nhiều thiết kế web khác nhau
Và giảm thiểu thời gian cũng như chi phí thiết kế web.
Tại sao cần Responsive Web Design
- Giúp tiết kiệm rất nhiều thời gian và chi phí khi mà bạn không cần phải duy trì từng phiên bản web khác nhau cho điện thoại và máy tính
- Responsive Web Design giúp cải thiện SEO (search ranking) cho trang web của bạn khi mà mọi luồng đều chỉ dẫn đến một địa chỉ URL duy nhất thay vì nhiều URL khác nhau.
- Các báo cáo Google Analytics của bạn sẽ vẽ nên một bức tranh tốt hơn về việc sử dụng trang web của bạn vì dữ liệu từ người dùng di động và máy tính để bàn sẽ được hợp nhất. Điều tương tự cũng xảy ra với các chỉ số (like, chia sẻ) trên các trang mạng xã hội như Facebook, Twitter,…
- Responsive Design giúp bạn dễ dàng bảo trì trang web khi mà nó không liên quan gì đến phía server, chỉ việc thay đổi html và css để thay đổi giao diện hoặc bố cục thích hợp với các thiết bị khác nhau.
Chúng ta sẽ đi vào tìm hiểu từng thành phần và cách sử dụng chúng.
Lợi ích của Responsive Web Design là gì?
Như đã nói ở trên, RWD dùng để bố cục lại giao diện trang web cho tương thích với nhiều loại kích cỡ màn hình khác nhau.
Hãy thử tưởng tượng xem, nếu màn hình trên điện thoại của bạn đã hẹp,
Diện tích rất hạn chế rồi mà bạn còn phải thấy một đống quảng cáo trên Tinh tế thì sẽ thế nào?
Nếu là mình, mình sẽ phát điên lên.
May mắn là mấy anh kĩ thuật đã làm RWD nên chúng ta không cảm thấy phiền phức.
Hoặc bạn cũng có thể nghĩ đến tình huống như thế này: giờ đây các trình duyệt web di động đều đã hỗ trợ HTML và CSS đầy đủ chứ không còn cùi bắp như xưa,
Do đó toàn bộ trang web có thể hiển thị một cách đầy đủ trên màn hình di động.
Tuy nhiên, nếu không áp dụng RWD, trang web khi xem trên thiết bị di động sẽ trở nên nhỏ xíu, bạn bắt buộc phải dùng kính lúp, còn không thì phải zoom vào và kéo qua lại, lên xuống liên tục để đọc nội dung.
Đây là trải nghiệm tiêu cực và nó khiến bạn nghĩ xấu về website, và điều tất nhiên là bạn chẳng thèm quay lại web đó nữa.
Nói tóm lại, RWD là một xu hướng thiết kế hoàn toàn có lợi bởi nó đảm bảo bạn sẽ luôn luôn có những trải nghiệm tốt nhất, đẹp nhất khi xem trang web dù bạn có đang dùng thiết bị nào đi nữa. Nó giúp nhà lập trình web tận dụng tối đa không gian để trình diễn những nội dung cho chúng ta xem theo cách thoải mái và thích thú nhất có thể.
Điều chỉnh độ phân giải màn hình
Các thiết bị mới đang được phát triển mỗi ngày và mỗi thiết bị này có thể xử lý các biến kích thước, chức năng và ngay cả màu sắc khác nhau.
Một số thích dùng màn hình nhỏ, một số dùng màn hình to, có người thích dùng theo chiều dọc và có người thích dùng chiều ngang.
Như chúng ta biết từ sự phổ biến của điện thoại thông minh iPhone, iPad và các dòng điện thoại Android khác có thể chuyển đổi từ dọc sang ngang theo ý thích của người dùng.
Vậy người thiết kế xử lý tình huống này như thế nào?
Giải pháp: Linh hoạt tất cả mọi thứ trên web (flexible content)
Một vài năm trước, khi flexible layout gần như là một thứ “xa xỉ” và “cao cấp” cho các trang web, điều duy nhất mà sự linh hoạt được sử dụng trong thiết kế là linh động trong layout dạng cột và nội dung text. Các hình ảnh có thể dễ dàng vỡ layout, và thậm chí các phần tử cấu trúc cũng gây ra việc làm vỡ layout khi chúng bỉ đẩy ra. Thiết kế linh hoạt chưa thực sự linh hoạt – các nhà thiết họ có thể cung cấp giao diện hàng trăm pixel, nhưng họ lại không thể điều chỉnh giao diện từ một màn hình máy tính lớn để phù hợp với một chiếc netbook.
Bây giờ chúng ta có thể làm cho mọi việc linh hoạt hơn.
Hình ảnh có thể được tự động điều chỉnh, và chúng ta có cách giải quyết để layout không bao giờ bị phá vỡ .
Giải pháp linh hoạt nội dung là hoàn hảo cho các thiết bị chuyển đổi từ cách truy xuất trên màn hình chiều ngang sang màn hình chiều đứng trên các thiết bị mobile như iPad hay iPhone.
CSS3 media queries của Responsive Web Design là gì?
Chúng ta sẽ sử dung một tính năng trong CSS3 đó là media query nhằm tạo nên fluid layout và flexible content. Các thuộc tính min-width and max-width sẽ làm chính xác những gì chúng ta đề nghị để đáp kích thước của màn hình và trình duyệt của thiết bị. Thuộc tính min-width đặt trình duyệt và màn hình với chiều rộng tối thiểu theo một tập hợp của các style nhất định (hoặc phong cách đặc trưng riêng biệt) phù hợp thiệt bị phù hới với độ rộng tối thiểu đó.
Nếu bất cứ thiết bị với kích cỡ màn hình dưới mức giới hạn này thì các định dạng stylesheets sẽ bị bỏ qua. Thuộc tính max-width làm điều ngược lại. Bất cứ thiết bị có trình duyệt hoặc chiều rộng tối đa màn hình vượt quá quy định sẽ không áp dụng các định dạng stylesheets tương ứng. Đoạn code dưới đây sẽ tự động thay đổi màu nền trang web theo các kích cỡ khác nhau của thiết bị
Flexible images
Nếu thay đổi kích thước ảnh quá nhỏ, hình ảnh sẽ xuất hiện với chất lượng thấp, tuy nhiên chúng ta vẫn muốn nó sẽ xuất hiện trên web và không muốn bỏ nó đi vì nó quan trọng.
Vì vậy, hình ảnh được chia thành 2 nhóm: một nhóm có thể cắt bỏ đi những phần không quan trọng và nhóm khác sẽ giữ nguyên ảnh nhưng sẽ bị zoom nhỏ hoặc to lên.
Có rất nhiều kỹ thuật dùng để tạo ra flexible image đáp ứng được với mọi kích cỡ màn hình khác nhau.
Sau đây chúng tôi xin liệt kê ra 3 khuynh hướng thông dung:
- Sử dụng stylesheet với img{max-width: 100%;}
- Sử dụng phần tử HTML5 và javascript
- Sử dụng dịch vụ Cloud để đáp ứng hình ảnh phù hợp với từng thiết bị
Responsive navigation
Ở phần trên, chúng tôi đã giới thiệu các kỹ thuật để tạo ra responsive layout và content.
Tuy nhiên, một điều rất quan trọng đối với việc sử dụng các chức năng chính của website liên quan mật thiết đến việc bố trí main menu.
Làm thế nào để bố trí một menu phù hợp và hiệu qua trên mọi thiết bị với các kích cỡ màn hình khác nhau?
Sau đây chúng tôi xin liệt kê một số navigation pattern phổ biến:
- Do nothing – Giữ nguyên định dạng của top main menu
- Tùy biến top main menu thành top flow menu (mỗi menu item sẽ chỉ hiện thị trên một row)
- Tùy biến top main menu thành dropdown list
Trên đây là một số thông tin mà Vietclass đã tìm hiểu và tổng hợp được từ nhiều nguồn, chúc bạn đọc có một trải nghiệm đọc thú vị !
Người viết: Quang Nhật
Nguồn: Tổng hợp và chỉnh sửa