animation-range-start

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Thuộc tính animation-range-start trong CSS đặt điểm trên dòng thời gian nơi hoạt ảnh sẽ bắt đầu.

Cú pháp

css
/* Giá trị từ khóa hoặc phần trăm độ dài */
animation-range-start: normal;
animation-range-start: 20%;
animation-range-start: 100px;

/* Giá trị phạm vi dòng thời gian có tên */
animation-range-start: cover;
animation-range-start: contain;
animation-range-start: cover 20%;
animation-range-start: contain 100px;

/* Giá trị toàn cục */
animation-range-start: inherit;
animation-range-start: initial;
animation-range-start: revert;
animation-range-start: revert-layer;
animation-range-start: unset;

Giá trị

normal

Đại diện cho điểm bắt đầu của dòng thời gian. Đây là giá trị mặc định.

<length-percentage>

Chỉ định giá trị độ dài hoặc phần trăm được đo từ đầu dòng thời gian.

<timeline-range-name>

Chỉ định phạm vi dòng thời gian được đặt tên trong dòng thời gian tổng thể. Phạm vi bắt đầu tại 0%.

<timeline-range-name> <length-percentage>

Chỉ định giá trị độ dài hoặc phần trăm được đo từ đầu phạm vi dòng thời gian được đặt tên cụ thể.

Mô tả

Các giá trị được phép cho thuộc tính animation-range-startnormal, <length-percentage>, <timeline-range-name>, hoặc <timeline-range-name> theo sau bởi <length-percentage>. Nếu giá trị <timeline-range-name> không bao gồm <length-percentage>, mặc định là 0%. Xem animation-range để biết mô tả chi tiết về các giá trị có thể. Ngoài ra, hãy xem Trình trực quan hóa dòng thời gian tiến trình view, cho thấy ý nghĩa của các giá trị khác nhau theo định dạng trực quan dễ theo dõi.

animation-range-start được bao gồm trong viết tắt animation như một giá trị chỉ đặt lại. Điều này có nghĩa là sử dụng viết tắt animation sẽ đặt lại bất kỳ giá trị animation-range-start đã khai báo trước có độ đặc hiệu bằng hoặc thấp hơn về normal; viết tắt không thể được dùng để đặt giá trị animation-range-start mới. Khi tạo hoạt ảnh cuộn trang CSS, bạn nên khai báo animation-range-start sau khai báo bất kỳ viết tắt animation nào để tránh đặt lại giá trị về normal.

animation-range-start, cùng với thuộc tính animation-range-end, cũng có thể được đặt bằng viết tắt animation-range.

Định nghĩa hình thức

Initial valuenormal
Applies toall elements
Inheritedno
PercentagesRelative to the specified named timeline range if specified, otherwise relative to the entire timeline
Computed valueA list where each item may be 'normal', a length percentage, or a timeline range name and a length percentage
Animation typeNot animatable

Cú pháp hình thức

animation-range-start = 
[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#

<length-percentage> =
<length> |
<percentage>

Ví dụ

Tạo dòng thời gian tiến trình cuộn trang view với điểm bắt đầu phạm vi

Trong ví dụ này, animation-range-start được áp dụng cho một phần tử được tạo hoạt ảnh thông qua dòng thời gian tiến trình cuộn trang. Điều này khiến hoạt ảnh bắt đầu trước khi phần tử vào scrollport.

HTML

Ở giữa một khối văn bản dài, chúng ta đã thêm một phần tử mà chúng ta sẽ tạo hoạt ảnh. Chúng ta đã thêm rất nhiều văn bản để đảm bảo nội dung tràn ra ngoài container; phần văn bản thừa được ẩn ở đây để ngắn gọn.

html
<div class="animatedElement"></div>

CSS

Dòng thời gian tiến trình cuộn trang được định nghĩa bằng cách đặt hàm scroll() làm giá trị của thuộc tính animation-timeline. Khai báo này được đặt sau viết tắt animation để tránh đặt lại giá trị thuộc tính dạng dài.

Chúng ta cũng đặt animation-range-start để hoạt ảnh bắt đầu sớm hơn mong đợi.

css
.animatedElement {
  background-color: deeppink;

  animation: appear 1ms linear;

  animation-timeline: scroll();
  animation-range-start: -25%;
}

@keyframes appear {
  from {
    background-color: rebeccapurple;
    opacity: 0;
    transform: scaleX(0);
  }

  to {
    background-color: darkturquoise;
    opacity: 0.75;
    transform: scaleX(0.75);
  }
}

Các kiểu khác được áp dụng trong ví dụ này đã được ẩn ở đây để ngắn gọn.

Kết quả

Cuộn để xem phần tử tạo hoạt ảnh. Lưu ý cách phần tử đã được phóng to và bán trong suốt khi nó vào viewport. Điều này là do phần tử bắt đầu tạo hoạt ảnh trước khi vào viewport.

Thông số kỹ thuật

Specification
Scroll-driven Animations
# animation-range-start

Khả năng tương thích trình duyệt

Xem thêm