Bài 26: Hiệu ứng zoom và gradient

2

Trong bài này, chúng ta sẽ tìm hiểu cách tạo hiệu ứng zoom và gradient trong css. Hai thuộc tính được sử dụng là transform:scale() và background-image: -webkit-linear-gradient(); Ngoài ra, thuộc tính box-size:border-box cũng được giới thiệu.

Video – Hiệu ứng zoom và gradient

Nội dung cần thực hiện

demo hiệu ứng zoom và gradient trong css

+ Hiệu ứng phóng to hình khi trỏ chuột vào

+ Đổ màu gradient

Hướng dẫn chi tiết

+ Tạo khối có chiều rộng chiều cao là 300px, padding 5px các phía. Lưu ý, nếu để bình thường thì khối sẽ tự được rộng và cao thêm 10px như có thêm padding. Để khối có chiều cao không đổi là 300px khi có padding, có 2 cách. Một là giảm chiều rộng và chiều cao ban đầu. hai là dùng thuộc tính box-sizing: border-box.

+ Tạo hiệu ứng zoom hình ảnh (dùng cho thẻ img) bằng cách dùng thuộc tính transform:scale(2) – hình sẽ p1hong to gấp đôi, thay đổi số bên trong để tùy chỉnh mức phóng to hay thu nhỏ.

+ Tạo gradient theo công thức sau: bachground-image:-webkit-linear-gradient(left, red 0%, orange 50%, yellow 100%). Ý nghĩa: đổ màu từ trái sang phải, dạng linear – đường thẳng, chuyển dần từ đỏ, cam, vàng, tại các vị trí 0% 50% 100%. Có thể thay left bằng right, top,bottom hay thay bằng độ 135deg, 45deg. Các bạn thử nhé.

Các thuộc tính mới

+ 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

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

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

+ 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

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

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ệ

  1. Vũ Đức Mạnh nói

    Hay bác nhé 🙂

  2. […] bài 28, mình sẽ hướng dẫn các bạn cách tạo animation trong css. Trong bài 26 chúng ta đã biết cách tạo hiệu ứng zoom khi hover vào đối tạo. Nội dung […]

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

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