Как переместить HTML-div с абсолютным положением (right: 0; bottom: 0px
) на другое ребро (left: 0px; top: 0px;
).Позиция перехода CSS по абсолютной величине от одного края к другому
Я пробовал следующий код, однако переход с абсолютными элементами работает только при использовании левого/верхнего или правого/нижнего.
Каков предпочтительный способ сделать это в HTML5?
var ele = document.getElementById("my-box");
ele.addEventListener("click", function() {
\t ele.classList.toggle("clicked");
});
.box {
position: absolute;
top: 0px;
right: 0px;
width: 100px;
height: 100px;
background-color: red;
transition: all 0.7s ease;
}
.box.clicked {
top: auto;
bottom: 0px;
left: 0px;
right: auto;
}
<div class="box" id='my-box'>
</div>
Есть ли panalties производительности или другие недостатки использования 'calc'? – Matt3o12
Я не думаю, что что-то специально для calc. Я считаю, что в идеале вы должны только переходить на непрозрачность и преобразовывать, если хотите гладкие гладкие переходы. Проблема здесь, хотя и трансформируется относительно элемента, в котором вы находитесь. Если вы делаете это по экрану, метод Aykut выше работает отлично, но если вы не можете использовать 'vw' или' vh', то это будет почти невозможно сделать с помощью простых преобразований, поэтому вам придётся прибегнуть к 'top' и' right' –