| <!doctype html> |
| <title>Container Queries - Animated container with inner transition</title> |
| <link rel="help" href="https://drafts.csswg.org/css-contain-3/#animated-containers"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support/cq-testcommon.js"></script> |
| <style> |
| @keyframes outer { |
| from { width: 100px; } |
| to { width: 300px; } |
| } |
| #container { |
| container-type: inline-size; |
| animation: outer 1s linear paused; |
| } |
| #target { |
| background-color: rgb(100, 100, 100); |
| } |
| |
| @container size(min-width: 200px) { |
| #target { |
| transition: background-color 100s steps(2, start); |
| background-color: rgb(200, 200, 200); |
| } |
| } |
| </style> |
| <div id=container> |
| <div id=target> |
| Test |
| </div> |
| </div> |
| <script> |
| setup(() => assert_implements_container_queries()); |
| |
| test(() => { |
| assert_equals(getComputedStyle(target).backgroundColor, 'rgb(100, 100, 100)'); |
| |
| assert_equals(container.getAnimations().length, 1); |
| let animation = container.getAnimations()[0]; |
| animation.currentTime = 600; |
| |
| assert_equals(getComputedStyle(target).backgroundColor, 'rgb(150, 150, 150)'); |
| }, 'Animated container size triggers transition'); |
| </script> |