Tạo hiệu ứng zoom in, zoom out cho button khi hover

Lập trình CSS và SASS nâng cao với dự án website Landing Page

5.0 (2 đánh giá)
Tạo bởi Nguyễn Minh Chí Cập nhật lần cuối 4 năm trước 13.003 lượt xem 2 bình luận
Tác giả/Dịch giả: Nguyễn Minh Chí
Học nhanh

Danh sách bài học

01. Code header của project Landingpage 2019 02. Tạo hình cho background image với CSS Clip-path 03. Tạo Button và hiệu ứng của nó cho Website Landing Page 2019 04. Tạo hiệu ứng zoom in, zoom out cho button khi hover 05. Hiệu ứng Animation cho Header website Landing Page 2019 06. Tổng quan cách hoạt động của CSS 07. Xử lý trùng lặp khi khai báo các Features hay Properties của CSS 08. Tìm hiểu quá trình xử lý cuối cùng của CSS 09. Chuyển px sang rem trong CSS 10. BEM và cách đặt tên Class cho element 11. Thực hành BEM vào project website Landing Page 12. Giới thiệu SASS 13. Tìm hiểu về Variables và Nesting trong SASS 14. Tìm hiểu về Mixins, functions, extends trong SASS 15. Set up môi trường để Compile SASS sang CSS 16. Áp dụng SASS vào project website landing page 17. Convert CSS code sang SASS và chia code thành các components 18. Code grid system trong dự án web landing page 19. Tạo text gradient và hiệu ứng hover cho text cho About Section trong web landing page 20. Hoàn thiện composition component và button-text cho About Section 21. Code Skills section cho website Landing Page 22. Tạo hiệu ứng Rotate cho Card Component trong Courses Section 23. Hoàn thiện các thuộc tính CSS Card Component trong Courses Section 24. Kết thúc quá trình code phần courses section 25. Bắt đầu code Testimonials Section trong dự án web landing page 26. Tạo hiệu ứng hover image và set video background cho testimonials section 27. Code HTML và CSS cho Enroll Section 28. Hoàn thiện CSS cho form Component 29. Code Footer Section 30. Giao diện popup component 31. Code hoàn thiện hiệu ứng cho pop up component 32. Code giao diện Navigation 33. Code hoàn thiện navigation _icon 34. Sử dụng Mixin tạo Media Query 35. Code responsive cho các Section 36. Code responsive image

Tạo hiệu ứng zoom in, zoom out cho button khi hover

Dẫn nhập

Ở bài trước, các bạn đã code xong phần TẠO GIAO DIỆN CHO BUTTON trong website Landing Page 2019.

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website

Trong bài này chúng ta sẽ cùng nhau Tạo hiệu ứng zoom in, zoom out cho button khi hover.


Nội dung

Để theo dõi tốt bài này các bạn cần:

Trong bài này chúng ta sẽ cùng nhau:

  • Code Hiệu ứng CSS cho Button

Code Hiệu ứng CSS cho Button

Trước hết thì chúng ta sẽ truy cập website mẫu để xem hiệu ứng của button 1 chút

WEBSITE SELFTAUGHT PREVIEW

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website

Khi chúng ta hover qua thì button có phóng to ra (zoom out), mờ và tương tự khi chúng ta lose focus vào button đó (zoom in) . Để tạo hiệu ứng này chúng ta sử dụng pseudo-class ( ::after, :hover)

Sử dụng ::after tạo ra 1 button giống hệt nằm bên dưới button gốc và hình ảnh zoom in, zoom out chúng ta thấy chính là btn::after

Lưu ý: content là cái luôn đi theo pseudo-class ::after, hoặc ::before, ở đây 100% là lấy theo height và width của .btn

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website

Phần dưới phình ra chính do hình ảnh của .btn::after . Ta set:

Và đừng quên là set .btn{ } (vai trò .btn như class cha của .btn::after)

Ta tiếp tục chỉnh .btn::after giống hệt với .btn

  • Border-radius: 100px
  • Background-color: #fff ( dùng cho .btn-white::after )
  • Z-index: -1 ( để cho .btn::after nằm dưới hẳn so với .btn)

Bây giờ thì ta không còn thấy hình ảnh của btn::after nữa


Bước tiếp theo khi hover, .btn::after sẽ zoom (hay scale lên)

Ta sử dụng: transform: scale(1.4); cho .btn:hover::after

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website

Ta thấy là tốc độ scale là ngay lập tức, ta muốn làm chậm lại sử dụng  transition: all .4s; cho .btn::after.

  • Ở đây ta cũng chỉnh luôn transition: all .2s cho .btn, làm chậm lại hiệu ứng hover và active của .btn

Tiếp đến ta thấy khi phóng to, .btn::after bị mờ, ở đây ta sử dụng 1 mẹo là sử dụng opacity.

  • Set opacity: 0; cho btn:hover::after ta có thể giải thích 1 chút, khi hover btn::after sẽ mờ dần đến giá trị 0 (không nhìn thấy gì) trong khoảng thời gian 0.4s (thời gian transition đã set bên trên) . Vậy là ta đã có hiệu ứng mong muốn!

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website

Ở đây mình muốn scale chiều dọc lớn hơn thì sẽ đẹp hơn

  • Chỉnh lại transform của .btn:hover::after thành transform: scaleX(1.4) scaleY(1.6); (chỉnh và cảm nhận nhé :D)

Tạo hiệu ứng zoom in, zoom out cho button khi hover , CSS, SASS, Landing Page, front end, website


Code CSS


Kết luận

Ở bài này chúng ta đã kết thúc quá trình code button và hiệu ứng của nó trong website Landing Page 2019 

Ở bài học sau, chúng ta sẽ cùng nhau code nốt phần Header bằng việc tạo HIỆU ỨNG KHI MỚI LOAD TRANG WEB của heading text và button.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận và góp ý của mình để giúp phát triển bài viết tốt hơn. Đừng quên: "Luyện tập – Thử thách – Không ngại khó".


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tạo hiệu ứng zoom in, zoom out cho button khi hover dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Lập trình CSS và SASS nâng cao với dự án website Landing Page

Qua khóa FRONT END CƠ BẢN , Kteam đã hướng dẫn các bạn đã có được những kiến thức cơ bản về  HTML và CSS.

Trong combo Front End 2019, chúng ta sẽ cùng nhau tìm hiểu và áp dụng những kiến thức chuyên sâu về CSS. Do kiến thức về CSS trong khóa học khá lớn và chi tiết nên Kteam đã chia làm 2 phần.

  • Phần 1: CSS và SASS Nâng Cao
  • Phần 2: Flexbox và CSS grid layouts

Ở khóa học này chúng ta sẽ cũng nhau tìm hiểu tổng quát về phần 1: CSS và SASS Nâng Cao với dự án Website Landing Page.

Bạn cũng có thể truy cập vào đường link bên dưới để xem bản PRIEVIEW của website landing page Selftaught 2019 mà chúng ta sẽ cùng thực hiện nhé! 

LANDING PAGE WEBSITE SELFTAUGHT 2019

Đánh giá

5.0
2 đánh giá
Đánh giá
5
2
4
3
2
1
hadang89 đã đánh giá 5 năm trước

Phạm Tấn Thành Moderator đã đánh giá 6 năm trước

hiệu ứng zoom in, zoom out cho button khi hover hay

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Thầy Giáo Ẹc (Khoa-88-F1) đã bình luận 4 năm trước

hướng dẫn chi tiết rõ ràng, cảm ơn Kteam.

lamlam đã bình luận 5 năm trước

 e làm y chang thầy mà khi hover nó k hiển thị giống như thầy ạ

 

Không có video.