一种简单的替代方法是将视口宽度和高度相加,并将其用作半径.
const toggle = () => {
document.querySelector('.d1').classList.toggle('big')
setTimeout(toggle, 4000)
}
setTimeout(toggle, 1000)
body {
margin: 0;
}
.d1 {
width: 10px;
aspect-ratio: 1/1;
background: red;
border-radius: 9999px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: all 2s ease-in-out;
}
.big {
width: calc(100vh + 100vw);
background: blue;
}
<div class="d1"></div>