淘先锋技术网

首页 1 2 3 4 5 6 7

CSS 列表展开动画是网站设计中非常常用的交互动效,可以提高用户的交互体验。这种动画效果可以让用户点击列表的标题,展开对应的内容,让用户轻松查阅感兴趣的信息。下面是一个展示 CSS 列表展开动画的代码示例:

.list ul {
list-style: none;
overflow: hidden;
}
.list li {
margin-bottom: 10px;
transition: all 0.3s ease-out;
}
.list li:hover {
transform: translateY(-5px);
}
.list li.collapsed {
max-height: 0;
opacity: 0;
transition: max-height 0.5s ease-out, opacity 0.3s ease-out;
}
.list li.collapsed >* {
opacity: 0;
}
.list li:not(.collapsed) {
max-height: 1000px;
opacity: 1;
}
.list li:not(.collapsed) >* {
opacity: 1;
}
.list .btn-toggle {
cursor: pointer;
}

该示例代码中,.list 类作为最外层容器,ul 元素用于存放列表中的内容。每个列表项 li 上都有默认样式,并添加了 margin-bottom 属性。当鼠标悬停在列表项上时,会向上移动 5 像素,增加交互体验。.collapsed 类用于控制收缩状态的列表项,该样式会将最大高度设为 0,同时让其透明度为 0,实现列表项的收缩效果。同时,列表项内的元素也会被隐藏。当列表项处于展开状态时,最大高度会增加至 1000 像素,同时将透明度设置为 1,实现所有元素的展开效果。

其中,.btn-toggle 类用于控制列表项展开和收缩的交互。用户点击时可通过 JavaScript 添加或删除 .collapsed 类,即可实现列表项的展开与收缩。利用这些 CSS代码实现的列表展开效果,可以使用户更方便地查看感兴趣的信息。此外,这个效果也是非常流行的,可以看到这种动画效果被广泛地应用于很多站点中。