yuan.gif
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
.container {
width: 500px;
height: 200px;
border: solid 1px #000000;
margin: 0 auto;
position: relative;
}
.item {
width: 100px;
height: 100px;
background: red;
border-radius: 50%;
position: absolute;
top: 30px;
left: 0;
animation: identifier 2s linear infinite;
}
@keyframes identifier {
50% {
/* 容器宽度减去自身的宽度 */
transform: translateX(calc(var(--b) - 100%));
}
}
</style>
<div class="container">
<div class="item"></div>
</div>
<script>
const container = document.querySelector(".container");
function setProperty() {
const w = container.clientWidth;
container.style.setProperty("--b", `${w}px`);
}
setProperty()
</script>
</body>
</html>