Animation css3 hiệu ứng làm đẹp cho website

374 Views 6 Likes Comment

CSS3 Animation là gì?

Thuộc tính animation trong CSS được sử dụng để những hiệu ứng sinh động cho nhiều thuộc tính CSS khác như color,background-color,height hoặc width  . Mỗi animation cần phải được định nghĩa bằng nguyên tắc@keyframes sau đó được gọi với thuộc tínhanimation, như sau:

Ví dụ animation thay đổi background

HTML:

<div class="element"></div>

CSS:

.ingredient {
 animation: infinite 5s pulse;
 }

@keyframes pulse {
 0% {
 background color: # 001F3F;
 }
 100% {
 background color: # FF4136;
 }
 }

 

Các bạn có thể tham khảo Demo là thanh menu trên Blog Nhật IT.

Mỗi @keyframes luôn tạo ra những khoảnh khắc cụ thể trong quá trình diễn ra hiệu ứng. Ví dụ, 0% là sự khởi đầu của hiệu ứng và 100% là kết thúc. Các keyframes này sau đó có thể được kiểm soát bằng thuộc tính animation viết tắt, hoặc 8 sub-properties,

#Sub-properties(thuộc tính chính)

  • animation-name: tên của @keyframes .
  • animation-duration: khoảng thời gian để animation thực hiện hết 1 chu kỳ.
  • animation-timing-function: thiết lập các đường cong tăng tốc được đặt trước như ease hoặc linear.
  • animation-delay: thời gian giữa các phần tử được load và bắt đầu animation.
  • animation-direction: đặt hướng của animation sau chu kỳ. Mặc định của nó resets trên mỗi chu kỳ
  • animation-iteration-count: số lần animation được thực hiện.
  • animation-fill-mode: bộ giá trị được áp dụng trước / sau khi animation.

Những sub-properties được sử dụng như sau:

HTML:

<div class="element"></div>

CSS:

@keyframes stretch {
 /* declare animation actions here */
}

.element {
 animation-name: stretch;
 animation-duration: 1.5s; 
 animation-timing-function: ease-out; 
 animation-delay: 0s;
 animation-direction: alternate;
 animation-iteration-count: infinite;
 animation-fill-mode: none;
 animation-play-state: running; 
}

Demo

#Multiple steps (nhiều bước)

Nếu animation có cùng tính chất bắt đầu và kết thúc, bạn nên chia các giá trị 0% và 100% bên trong @keyframes thành các dấu phẩy:

 

@keyframes pulse {
 0%, 100% {
 background-color: yellow;
 }
 50% {
 background-color: red;
 }
}

#Multiple animations(nhiều animation cùng lúc)

Bạn có thể khai báo nhiều animation trong cùng một đối tượng (selector). Trong ví dụ dưới đây, tôi muốn thay đổi màu sắc của hình tròn trong @keyframe đồng thời cho nó duy chuyển từ trái sang phải.

Ví dụ : Link Demo

 

#Performance(hiệu suất)

Animation hầu hết các thuộc tính là mối liên quan về hiệu suất, vì vậy bạn nên cẩn thận với bất kì 1 thuộc tính animation nào. Tuy nhiên, có một số kết hợp nhất định có thể hoạt động 1 cách an toàn:

  • transform: translate()
  • transform: scale()
  • transform: rotate()
  • opacity

#Những thuộc tính nào có thể thực hiện hiệu ứng animation?

Danh sách thuộc tính CSS có thể tạo được hiệu ứng. Thường có khả thi với màu sắc và kích thước. Không thể thực hiện hiệu ứng được với background-image

 

Kết Luận: Animation là một trong những sự kì diệu mà CSS3 mang lại .

Rating: 5.0/5. From 1 vote.
Please wait...

Bạn có thể thích

Hãy bình luận chém gió đi nào. HAHA Thank!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *