<meta name="viewport" content = "width = device-width, initial-scale = 1.0"/>
width = device-width (chiều rộng trang web bằng chiều rộng thiết bị)
initial-scale = 1.0 (zoom là 1, trang web sẽ KO bị zoom khi màn hình ở độ phân giải thấp như trên di động)
cách thiết kế trang web responsive sử dụng fluid (liquid) layout:
- luôn set <meta name="viewport" content = "width = device-width, initial-scale = 1.0"/>
- sử dụng max-width cho thẻ div.wrap
- sử dụng % để set width cho các element khác bằng bao nhiêu % của thằng cha của nó
trên mobile người dùng ko phải cuộn ngang để xem nội dung
chữ không bị nhỏ quá
ảnh không bị nhỏ quá
Chú ý
Chú ý khi thiết kế giao diện web responsive chúng ta nên thiết kế cho mobile trước (Mobile first CSS) bởi vì làm theo cách này thường sẽ dễ hơn và giúp file CSS của chúng ta nhẹ hơn, do đó load trang web sẽ nhanh hơn.Ví dụ tôi có 1 trang web giao diện 2 cột trên Desktop nhưng trên Mobile thì chỉ có 1 cột (do màn hình Mobile bé nên sẽ phải đơn giản hơn màn hình Desktop)
Nếu tôi viết CSS cho Desktop trước, code của tôi sẽ trông như sau:.content {
/* Style cho màn hình Desktop */
float: left;
width: 60%;
/* Style lại cho màn hình Mobile */
@media (max-width: 800px) {
float: none;
width: 100%;
}
}
Còn nếu viết CSS cho Mobile trước thì sẽ như sau:.content {
/* Mặc định chiều rộng của thẻ div là 100% nên không cần viết thêm gì */
/* Viết lại style cho Desktop */
@media (min-width: 800px) {
float: left;
width: 60%;
}
}
Như vậy, viết theo kiểu Mobile first thì chúng ta đã
tiết kiệm được 2 dòng code, và với 1 trang web càng lớn thì sẽ tiết
kiệm được càng nhiều (bởi giao diện trên Desktop thường sẽ rất phức tạp
so với giao diện mobile). Do đó chúng ta nên viết theo kiểu này, đặc
điểm của nó là sử dụng đa số media feature min-width
(đa số thôi, còn trong một số trường hợp chúng ta sẽ dùng các kiểu
feature khác sao cho phù hợp và tối ưu nhất, code ngắn nhất).
No comments:
Post a Comment