| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>CSS Motion Path: ray paths with contain</title> |
| <style> |
| #container { |
| width: 250px; |
| height: 250px; |
| transform: translate(100px); |
| } |
| #target { |
| position: relative; |
| left: 50px; |
| top: 50px; |
| width: 150px; |
| height: 25px; |
| background-color: lime; |
| /* |
| * The original path length is 50px, which is not enough to contain |
| * the element entirely, so it should be increased. |
| * "75px" is just the center of the element, which makes the path |
| * length increase minimally. |
| * Besides, -75px = (-150px * 2) + 225px, the used offset distance is |
| * -225px in this case. |
| * Note: offset-anchor is "200% -300%", and ray angle is -90deg. |
| */ |
| transform: translate(calc(-75px), calc(25px * 3)); |
| } |
| </style> |
| </head> |
| <body> |
| <div id="container"> |
| <div id="target"></div> |
| </div> |
| </body> |
| </html> |