javascript - 使用过渡更改 CSS Grid 元素的顺序时出现奇怪的行为,如何解决?
问题描述
我想通过单击按钮来更改网格容器内元素的顺序。我只是给子元素一个过渡属性,结果太奇怪了。
首先,过渡的时间值和实现它所需的实际时间之间的时间是完全错误的,而且它以奇怪和随机的顺序发生在许多阶段,最后也是最重要的是没有过渡效果或什么的曾经。
这是我的代码片段:
function changeOrder(){
var elmnts = document.querySelectorAll(".container>div");
elmnts.forEach((item, i) => {
item.style.order = 5 - i;
});
}
.container{
max-width: 1000px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fill, 150px);
grid-column-gap: 4px;
grid-row-gap: 24px;
justify-content: center;
padding: 25px;
}
.container > div {
width: 150px;
height: 150px;
background: red;
color: white;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
transition: order 20s;
}
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<button type="button" name="button" onclick="changeOrder()">Change order</button>
那么有没有办法实现这一点,当元素由于其顺序值的变化而从一个位置移动到另一个位置时给出运动感?
解决方案
推荐阅读
- r - R Shiny - 将反应数据传递给模型的问题
- sql - 识别相互指向的数据库记录
- database - 指针引用上具有 $group 和 $count 的 MongoDB 聚合管道返回错误数据
- c++ - 使用 CMake 和 Make 编译时出现 OpenCV 库错误:找不到 -lopencv_bgsegm
- javascript - 在 Html 画布上放置蓝色色调的快速方法
- javascript - 读取 CSV 等数组的数组
- sapui5 - 如何从 OData 元数据创建本地空 JSON 模型
- r - 将左填充零放在字符串内
- django - 如何将外键值从表单保存到 django 数据库?
- vba - 如何提前退出 Sub()?