我正在尝试复制苹果的搜索页面,在该页面中,当您单击过滤器时,结果会动画到它们的下一个位置,而不是仅仅跳到它。我想这样做是为了更清楚地了解结果的去向。
这是我的尝试,但我认为这不能纯粹在 css 中完成?我尝试为所有事件添加过渡,但似乎不起作用。我认为 Apple 正在使用变换来移动位置,但我不知道如何。任何帮助将非常感激。谢谢
<button>toggle filters</button>
<div class="resource">
<div class="results">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div class="filter"></div>
</div>
.resource {
width: 1000px;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.resource > * {
transition: all 1s ease;
}
.results {
width: 1000px;
background: red;
height: 500px;
}
.results div {
background: green;
float: left;
height: 200px;
width: 240px;
margin-right: 10px;
margin-bottom: 10px;
}
.filter-active .results {
width: 750px;
}
.filter {
width: 250px;
background: blue;
height: 500px;
position: absolute;
top: 0;
right: -250px;
}
.filter-active .filter {
right: 0;
}
var filtertoggle = $(".resource");
$('button').click(function(){
filtertoggle.toggleClass('filter-active');
});