hướng dẫn làm responsive website là một trong những từ khóa được search nhiều nhất về chủ đề hướng dẫn làm responsive website. Trong bài viết này, lamweb.vn sẽ viết bài viết Hướng dẫn làm responsive website mới nhất 2020
Hướng dẫn làm responsive website mới nhất 2020
Responsive web design (Thiết kế web tương like di động) là phương thức bạn xây dựng một website đáp ứng trên mỗi thiết bị và click thước khung hình không giống nhau, không cần biết là khung to, nhỏ hay máy tính (desktop). Với phương pháp này, thử nghiệm của người dùng trên mỗi thiết bị sẽ tăng rõ rệt. Chẳng hạn, trên khung hình của điện thoại, mọi thứ luôn luôn hiển thị rạch ròi, đa số và tinh tế hơn.
bản thân khái niệm Responsive web design được Ethan Marcotte mang ra trong cuốn sách “Responsive web Design”. Bạn nên đọc để có cái Quan sát toàn diện và sâu sắc hơn.
Dưới đây là ví dụ về phương thức một website cung cấp các khung hình tiêu chuẩn:
FoodSense là một web xinh có thể hiển thị tốt trên toàn bộ khung hình thiết bị di động lẫn desktop.
Phân biệt Responsive web thiết kế và thích nghi với Mobile
Mặc dù cả Responsive web design và thích ứng với Mobile (Adaptive Mobile) đều có cách giải quyết khá giống nhau, và cùng thay đổi bố cục website ở một thời điểm khung ảnh có click thước nào đó, chúng luôn luôn có những sự không giống nhau.
Responsive được hiểu là nhanh chóng refresh và thêm vào với hầu hết các thay đổi, trong khi Adaptive có nghĩa là dễ dàng sửa đổi cho các mục tiêu, tình huống cụ thể.
Responsive đủ nội lực hoạt động và cập nhật tiếp tục bố cục, chẳng hạn như khi chiều dài lẫn chiều rộng cửa sổ cải thiện, trong khi Adaptive sẽ chỉ thay đổi trên các group yếu tố khái niệm sẵn, gợi ý khung 480px, khung 1024px.
Hoàn hảo nhất là khi bạn tận dụng cả hai vào sử dụng một, giúp web hoạt động mượt mà trơn tru.
thêm vào đó, trên các ĐT di động, nếu bạn sử dụng riêng giao diện mobile và giao diện máy tính, việc sửa chữa, bảo trì là rất khó khăn, mặc dù giao diện trên mobile có thể nhẹ, nhưng lại cần bạn mỗi lần nâng cấp, update phải sử dụng trên cả hai giao diện.
hiện tại, kĩ năng thông dụng nhất là sử dụng Responsive web thiết kế. Nó mang lại đủ cả ba yếu tố: responsive, adaptive và mobile.
Xem thêm : Tổng hợp những phần mềm thiết kế web kéo thả mới nhất 2020
cách thiết lập Responsive website thiết kế
Để hoàn thiện kĩ năng xây dựng Responsive website design, bạn cần nắm ba phần quan trọng:
- Bố cục linh hoạt
- Media Queries
- Media linh hoạt
Phần 1: Bố cục linh động
Phần nào bao gồm cách thức xây dựng bố cục không khó khăn nhưng linh hoạt, có thể resize chiều dài (width) tới bất kỳ khung hình nào. Các lưới linh hoạt này được xây dựng trên các tổ chức tính, hầu hết nên sử dụng tỷ lệ (%), chẳng hạn cột có độ rộng là 25%, và tổ chức em (để xây dựng khoảng phương pháp giữa các cột). Các đơn vị này thường được dùng để khai báo các thuộc tính của lưới (grid) giống như chiều rộng, lề hai bên, và lề bên trong.
ngược lại với cách viết CSS cũ, phương pháp viết này yêu cầu bạn nên dùng sim linh động, TRÁNH dùng các tổ chức truyền thống như pixel hay inch. Bởi vì sự thay đổi của khung màn ảnh tiếp tục dẫn tới sự thích nghi của bố cục website cần thay đổi theo phần trăm.
Chẳng hạn, với bố cục 1 cột bên, ta có các thị trường sau:
.wrapper display: flex;flex-wrap: wrap;/* to make it responsive when needed */.sidebar width:25%;.content width:75%;
Để xây dựng khoảng mẹo giữa các đối tượng, bạn nên sử dụng padding.
.sidebar width:25%;padding:01em;.nội dung width:75%;padding:01em;
Để bù lại khoảng hướng dẫn này, thị trường cha của cả hai đối tượng con nên dùng margin âm:
.wrapper display: flex;flex-wrap: wrap;margin:0-1em;
Để tạo các bố cục với độ rộng khác nhau, chẳng hạn như hạn chế tối đa của bố cục, ta thường dùng .container bên trong:
.container width:100%;max-width:70em;margin:0auto;/* Center alignment */padding:01em;
gợi ý về layout container:
Phần 2: Media Queries
Media Queries được thiết lập như một phương pháp xây dựng rộng các phân khúc. Nó giúp chúng ta đặt các kiểu phong cách không giống nhau cho phân khúc trên các trình duyệt và phần trăm khung hình không giống nhau.
mẹo sử dụng Media Queries
Có một vài phương pháp bạn đủ sức sử dụng Media Queries.
- sử dụng trực tiếp cú pháp @media ở trong fle phong cách sẵn có.
- Tạo 1 file chứa Media Queries riêng và @import nó vào CSS.
- Gắn riêng mỗi file style trên các khung hình khác nhau vào qua HTML.
Chẳng hạn, bạn có thể gắn như thế này trong thẻ
của web để ứng dụng file phong cách cho khung ảnh cụ thể nào đó:
href="styles.css"rel="stylesheet"media="all and (max-width: 1024px)">
Hoặc trong file CSS style của website, bạn thêm các Media Queries:
/* @media Rule */.hero width:50%;@media tất cả and(max-width:1024px).hero width:100%;/* @import Rule */@import url(styles.css) toàn bộ and(max-width:1024px)...
Trong file SCSS, bạn đủ sức nhập lồng vào trong khung như thế này:
$tablet-breakpoint:1024px;.hero width:100%;@media(max-width: $tablet-breakpoint)width:50%;
Các logic điều kiện trong Media Queries
Việc dùng hợp lý các điều kiện trong Media Queries giúp truy vấn vào các khung màn ảnh không giống nhau hoạt động suôn sẻ.
MOBILE RESPONSIVE
Mobile Responsive là các điều kiện ưu tiên cho phân khúc được đặt cho khung từ 0 đến 320px (hoặc 480px, tuỳ theo từng project), và được ghi đè ở các khung to hơn.
// SCSS | |
$mobile-breakpoint: 320px; | |
$tablet-breakpoint: 1024px; | |
.menu-item | |
// Mobile value | |
width: 100%; | |
@media (min-width: $mobile-breakpoint) | |
width: 50%; | |
@media (min-width: $tablet-breakpoint) | |
width: 33.33%; | |
ĐA KHUNG hình phức tạp
Trong một số trường hợp, các tính chất chỉ tồn tại ở một khoảng độ rộng màn hình nào đó, ví dụ từ 800px đến 1024px, thì ta đủ nội lực sử dụng điều kiện and:
@media all and(min-width:800px)and(max-width:1024px)...
trái lại, nếu ở một khung hình nào đó ta không có giá trị cần nêu ra và chỉ ứng dụng trong các khung ảnh còn lại, ta sẽ sử dụng not:
@medianot screen and(color)...
sử dụng “only” sẽ k support trên các trình duyệt sử dụng HTML4, bởi vậy code ví dụ giống như dưới đây sẽ không được kích hoạt nếu không hề màn ảnh xoay dọc.
@media only screen and(orientation: portrait)...
Lời khuyên: bạn nên chọn dùng Mobile-First để dễ dàng vận dụng và chỉnh sửa hơn.
Media Queries k thể hoạt động với IE8 và các phiên bản thấp hơn. Một số thư viện support sẽ cung cấp hướng dẫn giải quyết bằng Javascript gồm có Respond.js và CSS3-MediaQueries.js.
ViewPort
Các thiết bị di động thường cung cấp phần support cho user khi duyệt website, chẳng hạn như thu phóng và độ phân giải của website. Apple vừa mới phát minh ra phương pháp sử dụng thẻ meta để thực hiện điều này.
Nếu bạn k dùng thẻ , web của bạn sẽ gặp đôi chút trục trặc, chẳng hạn giống như quá nhỏ hoặc click thước các bố cục bị dài quá khung màn hình.
sử dụng sẽ cho phép thiết bị biết được kích thước khung hình và hiển thị tốt hơn nhiều.
Viewport Scale
Để hạn chế độ thu phóng của web trên trình duyệt di động, bạn có thể dùng các thuộc tính dưới đây:
- minimum-scale
- maximum-scale
- initial-scale
- user-scalable
Thông thường, initial-scale sẽ có trị giá là 1. Nó đủ sức nhận các trị giá là số nguyên từ 0 đến 10.
Viewport Resolution
name="viewport"nội dung="target-densitydpi=device-dpi">
Các giá trị đủ nội lực thay thế:
- device-dpi
- high-dpi
- medium-dpi
- low-dpi
- (một số dpi nào đó)
sử dụng giá trị điểm ảnh là rất hiếm hoi, nhưng nó sẽ rất cần nếu bạn mong muốn làm web bằng thư viện ảnh có chất lượng cao chẳng hạn.
Media linh hoạt
Cuối cùng, nhưng k kém phần quan trọng, là mẹo các đối tượng media được giải quyết trong Responsive web thiết kế. Khi khung hình thay đổi, chẳng phải lúc nào media cũng sẽ thêm vào. hình ảnh, video hay audio cần phải có cấp độ thay đổi kích thước cũng giống như % thì mới cung cấp tiêu phù hợp Responsive website.
Xem thêm : Các phần mềm thiết kế web mới nhất 2020
Một cách mau nhất là đặt thuộc tính: max-width: 100%. làm như vậy sẽ đảm bảo bất kỳ media nào sẽ nhanh chóng chuyển xuống bám theo vị trí của khung container.
img, video, picture, canvas max-width:100%;
Bạn có thể xem ví dụ sau:
tuy vậy, chẳng hề lúc nào nó cũng hiển thị hoàn hảo, và đặc biệt là khi bạn cần % khung ảnh phù hợp. Chẳng hạn, video HD 16:9 thì bất kỳ độ rộng màn ảnh nào, cả xoay ngang dọc, nó luôn luôn cần là 16/9 đúng không?
Để làm điều này, ta cần sử dụng CSS Aspect ratio giống như đoạn code mẫu sau:
class="media__figure">class="media__iframe"src="https://www.youtube.com/embed/4Fqg43ozz7A">
.media__figure position: relative;width:100%;height:0;padding-bottom:56.25%;/* 16:9 */.media__iframe position: absolute;top:0;left:0;width:100%;height:100%;
tóm lại
không easy để sử dụng quen với Responsive web design khi bạn mới bắt đầu sử dụng tới, hoặc khi bạn đã quá quen với các class có sẵn của Bootstrap. Để trở thành một Junior Frontend Developer, kiến thức về Responsive của bạn phải thật hiển nhiên. Hi vọng post này sẽ làm bạn hiểu và ứng dụng nó chính xác hơn.
Nguồn : https://www.google.com