Bài 29: Cách tạo responsive cho web

0

Bài 29 sẽ giới thiệu cho các bạn về cách tạo responsive cho web. Nói dễ hiểu là giao diện sẽ tùy biến thay đổi cho phù hợp với kích thước màn hình hiển thị. Trong bài mình sẽ hướng dẫn một ví dụ đơn giản là thay đổi kích thước hình khi màn hình hiển thị thay đổi.

Video – Cách tạo responsive cho web

Hướng dẫn chi tiết

Giới thiệu về responsive

Responsive là một phần không thể thiếu trong mọi website vì với công cụ này thì website của bạn tăng trải nghiệm người dùng và cũng được google đánh giá cao hơn. Web có responsive sẽ thay đổi giao diện tùy theo kích thước của màn hình hiển thị. Giúp người dùng dễ tương tác và sử dụng website.

Một số ví dụ về responsive

Trang chủ Góc làm web khi hiển thị trên màn hình máy tính

Trang chủ Góc làm web khi hiển thị trên màn hình máy tính - cách tạo responsive cho web desktop

Giao diện Góc làm web trên màn hình nhỏ

cách tạo responsive cho web mobile

Như chúng ta thấy, ngoài việc các khối thay đổi vị trí thì menu cũng thay đổi hình dạng.

Bài tập

Thay đổi kích thước một hình ảnh trên web bằng cách sử dụng responsive

Hướng dẫn nhanh

+ Thêm thẻ <meta name=”viewport” content=”width=device-width, initial-scale=1.0″> vào bên trong thẻ head

+ Phần CSS:

@media screen and (max-width: 2000px) {
Định dạng của các khối khi màn hình có chiều rộng nhỏ hơn 2000px;
}
@media screen and (max-width: 480px) {
Định dạng của các khối khi màn hình có chiều rộng nhỏ hơn 480px;
}

Các thuộc tính đã hướng dẫn

Các thuộc tính thường dùng

+ bachground-image:-webkit-linear-gradient(left, red 0%, orange 50%, yellow 100%), hiệu ứng đổ màu gradient

+ transform:scale(2), hiệu ứng zoom, phóng to thu nhỏ

+ box-sizing: border-box, cố định chiều rộng và chiều cao

+ transform: rotate(-45deg) để xoay khối div góc 45 độ

+ border-radius: 5px; bo tròn các góc của khối với bán kính 5px

+ background-size: cover, để hình luôn đầy 100% khối

+ background-attachment: fixed (cố đinh hình nền khi cuộn trang)

+ nth-child(3) để ghi đè css cho các đoạn giống nhau.

+ margin: auto, tự động canh biên

+ text-transform: uppercase, tự động viết hoa

+ box-shadow: 2px 2px 7px; tạo đổ bóng (các thông số lần lượt là đổ sang phải, bên dưới, độ rộng của bóng mờ)

+ transition: 0.4s; tùy chỉnh lại các hiệu ứng

+ float: left (right) dồn các khối

+ overflow: hidden

+ display: block, biến thẻ không xuống dòng thành khối để hiểu được thuộc tính margin

+ display: inline, biến thành các thẻ không xuống dòng

+ margin và padding, biên tính từ viền của khối ra ngoài, lề tính từ viền khối vào bên trong nội dung

+ border : viền, 1px (độ dày) black (màu) solid (loại nét)

+ text-align : canh lề

+ font-size : kích thước.

+ font-weight : bold độ đậm nhạt, giống như thẻ <b></b>

+ font-family : kiểu chữ hay font chữ

+ font-style: italic : tạo chữ in nghiêng

+ text-decoration: none, underline.

+ line-height: 20px: độ giãn dòng.

+ color: (màu chữ) dùng green, red hay mã màu

+ background-color: (màu nền) black

+ background-image: url(imgage source), hình nền

Các thuộc tính flexbox

display: flex; hoặc display: inline-flex

flex-direction :

+ row, theo hàng tương đương với float:left

+ row-reverse, theo hàng từ sau ra trước, float:right;

+ column, theo cột từ trên xuống dưới

+ column-reverse, theo hàng từ dưới lên trên.

flex-wrap (có xuống dòng hay không khi đủ chiều rộng).

+ no-wrap: ko xuống dòng, chỉ hiện thị trên 1 hàng

+ wrap: đủ chiều rộng của khối cha thì tự động xuống dòng.

+ wrap-reverse: đảo ngược.

justify-content:  canh chỉnh theo chiều ngang cho các khối bên trong

+ center: tự động căn giữa (tương đương text-align :center)

+ flex-start (dồn sang trái)

+ flex-end (dồn sang phải)

+ space-between ( chia đều trong khối)

+ space-around (chia đều các khối và hai lề của khối ngoài).

align-items: canh chỉnh theo chiều dọc (khối bên ngoài phải có độ cao cố định)

+ stretch: tự lấp đầy chiều cao

+ flex-start: dồn lên trên

+ flex-end: dồn xuống dưới.

+ base-line: chỉ canh chữ cho thẳng hàng.

+ center: canh giữa theo chiều dọc. Thuộc tính này hỗ trợ rất nhiều cho việc làm web, và  là thuộc tính mới chỉ có từ CSS 3.

Các thuộc tính chia layer

+ position: relative; (chọn làm mốc)

+ position: absolute; (định vị trí cho khối, đi chung với các thuộc tính top, bottom, left, right)

+ top: 10px, vị trí tính từ trên xuống

+ bottom: 10px, vị trí tính từ dưới lên

+ left: 10px, vị trí từ bên trái

+ right: 10px, vị trí từ bên phải

Các thuộc tính tạo animation

@-webkit-keyframes ten-animation{

               From{ trạng thái đầu}

               To{ trạng thái sau }

}

+ Sử dụng animation cho đối tượng

Thuộc tính tổng hợp: animation: tên-animation time forwards;

Một số thuộc tính riêng

animation-name: tên animation sẽ áp dụng cho đối tượng.

animation-delay: thời gian hoãn animation;

animation-iteration-count: số lầ thực hiện;

aniamtion-direction: chiều chạy animation;

animation-fill-mode: xác định trạng thái của một animation, khi mà animation không được chạy (có thể là animation này đã chạy xong hoặc đang bị delay)

Code mẫu: Download

Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Liên hệ

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố.