Tạo hiệu ứng Rotate cho Card Component trong Courses Section

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

5.0 (1 đánh giá)
Tạo bởi Nguyễn Minh Chí Cập nhật lần cuối 3 năm trước 6.795 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 Rotate cho Card Component trong Courses Section

Dẫn nhập

Ở bài học trước chúng ta đã cùng nhau kết thúc phần CODE SKILLS SECTION.

Ở bài học này chúng ta sẽ cùng nhau bắt tay vào code courses section - cụ thể là Tạo hiệu ứng Rotate cho Card Component


Nội dung

Để tiếp thu tốt bài này các bạn cần:

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

  • Code HTML
  • Set CSS property cho section
  • Tạo hiệu ứng quay cho card component

Code HTML

Chúng ta sẽ nhìn tổng quan một chút về sản phẩm cuối của section này.

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

Ở đây thấy rõ là có 3 phần, 1 là title của section (sử dụng heading-secondary giống phần about section), 2 là phần card giới thiệu khóa học chia làm 3 cột, 3 là phần button “See all our courses”.  

 Trước mắt ta để 3 cột và chỉ có cột đầu tiên chứa card, cardnày chỉ gồm mặt trước và mặt sau để chúng ta có thể test hiệu ứng xoay của card. Phần heading button thì tương đối hoàn thiện riêng đối với phần code html này.

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML


Set Css property cho section

Đầu tiên ta sẽ set background color giống với about section và sử dụng padding cũng như margin-top để viền cong của phần skills section chèn lên background (giống như đã làm ở about section skills section)

Tạo hiệu ứng quay cho card component

Ta tạo thêm 1 component _card.scss trong folder components import vào trong main.scss

Đầu tiên ta sẽ set chiều dài và màu background của 2 mặt để có thể quan sát kĩ hơn

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

Ta tưởng tượng mặt BACK của card phải quay trước 180 độ để khi ta hover thì mặt BACK sẽ thay thế vị trí của FRONT bằng cách sử dụng transform: rotate(). Ta set luôn phần :hover cho mặt BACK FRONT.

Chú ý là ở phần hover, mặt FRONT quay -180 độ chứ không phải 180 độ, thì nó mới trùng với chiều quay của mặt BACK, bạn có thể thử với 180 độ và để transition thật chậm để quan sát.

Ở đây ta sẽ set transition để hiệu ứng mượt mà hơn.

Bạn quan sát thì khi rotate, thì card của chúng ta quay dọc nhưng thực tế khi bạn để ý giả sử khi chúng ta quay cánh cửa thì nó có cả 1 chút hướng to về phía mắt chúng ta hơn

  • khi rotate bình thường, không thật lắm

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

  • rotate khi đã chỉnh sửa

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

Vậy thì làm thế nào chúng ta có thể chỉnh như trên. Đó là 1 thuộc tính mới của CSS: perspective.

Các bạn cứ tự chỉnh giá trị của perspective để quan sát, giá trị càng nhỏ thì perspective càng gần, giống như để mắt gần element hơn vậy 

ở đây mình để perspective 150rem là vừa đủ, các bạn có thể tùy chỉnh

Việc chúng ta cần làm bây giờ là set vị trí của mặt BACK trùng với mặt FRONT. Trước hết thì sẽ để card position relative và chúng ta sẽ để 2 mặt có vị trí trùng nhau.

  Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

Ta được kết quả như trên, ta cần phải set width cho các mặt

Kết quả ta chỉ nhìn thấy mặt BACK

Tạo hiệu ứng Rotate cho Card Component trong Courses Section , Landing page, CSS, SASS, HTML

Ở đây ta tiếp tục sử dụng 1 thuộc tính khác của css đó chính là backface-visibility

Nó sẽ giấu phần back part, phần phía dưới của element đi

Thế là đã giải quyết xong!

Nhưng lúc này bạn sẽ thấy là perspective không còn tác dụng nữa, đó chính là khi sử dụng position absolute thì height của các mặt không còn là height của card nữa nên height của card bằng 0 nên không thấy được perspective, để giải quyết chúng ta chỉ cần set height của card đúng bằng height của các mặt là được.

Vậy là ta đã hoàn thành hiệu ứng rotate của card component.

Code .card


Kết luận

Trong bài này chúng ta đã học cách tạo hiệu ứng rotate cho card component.

Trong bài học sau chúng ta sẽ tiếp TỤC HOÀN THIỆN CÁC THUỘC TÍNH CSS CỦA MẶT TRƯỚC VÀ MẶT SAU CỦA CARD.

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 Rotate cho Card Component trong Courses Section 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
1 đánh giá
Đánh giá
5
1
4
3
2
1
duyvuong2003 đã đánh giá 6 năm trước

rất 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
Wynrius479 đã bình luận 5 năm trước

cho em hỏi khi em làm hiệu ứng rotate như bài thì khi mặt front xoay xong không thấy mặt back vậy ạ?

 

giadat1999 đã bình luận 6 năm trước

cho em xin full img với, e cảm ơn.

Không có video.