复制粘贴,动画即成:CSS手风琴效果,快速实现!

简介: 复制粘贴,动画即成:CSS手风琴效果,快速实现!

先上效果

   



🌟手风琴效果作为一种流行的交互式UI元素,以其独特的折叠展开特性,广泛应用于FAQs、侧边栏菜单等场景。本文将分享如何利用CSS动画轻松实现手风琴效果,并且提供了一键复制的代码,让开发者和设计师能够快速集成这一动态效果到自己的项目中,无需编写复杂的脚本。

   

完整代码

   

HTML

<div class="accordion">
        <div class="accordion-item">
            <div class="accordion-header">第一项</div>
            <div class="accordion-content">
                <p>这是第一项的内容。点击标题可以展开或收起此内容。</p>
            </div>
        </div>
        <div class="accordion-item">
            <div class="accordion-header">第二项</div>
            <div class="accordion-content">
                <p>这是第二项的内容。每个项目都可以独立展开和收起。</p>
            </div>
        </div>
        <div class="accordion-item">
            <div class="accordion-header">第三项</div>
            <div class="accordion-content">
                <p>这是第三项的内容。您可以根据需要添加更多的项目。</p>
            </div>
        </div>
    </div>

CSS代码:


.accordion {
    width: 300px;
    margin: 0 auto;
}
.accordion-item {
    background-color: #f1f1f1;
    margin-bottom: 5px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.accordion-header {
    background-color: #3498db;
    color: white;
    padding: 15px;
    cursor: pointer;
}
.accordion-content {
    padding: 15px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.accordion-item.active .accordion-content {
    max-height: 200px;
}


JS:

document.querySelectorAll('.accordion-header').forEach(header => {
    header.addEventListener('click', () => {
        // 先遍历所有.accordion-header的父元素并移除active类
        document.querySelectorAll('.accordion-header').forEach(otherHeader => {
            otherHeader.parentElement.classList.remove('active');
        });
        header.parentElement.classList.toggle('active');
    });
});
相关文章
|
27天前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
|
21天前
|
前端开发 UED 开发者
有趣的CSS - 文字加载动画效果
这个文本加载动画简单而有趣,可以在网站标题、广告标语或者关键信息的展示上吸引用户的注意力。开发者可以根据需要调整动画的持续时间、步骤数,或者光标颜色等,来适应特定的设计需求。使用这种动态元素,增强网站的互动性和用户体验,同时也为网站增添了一抹活泼的风格。
36 5
|
27天前
|
前端开发 JavaScript
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
HTML+CSS如何打造撒花动画效果?3分钟学会,炫酷到爆!
|
27天前
|
前端开发
CSS动画霓虹灯闪烁效果
CSS动画霓虹灯闪烁效果
|
27天前
|
前端开发 JavaScript
还在为酷炫css动画背景头疼吗?1分钟解决
还在为酷炫css动画背景头疼吗?1分钟解决
|
27天前
|
前端开发
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
HTML+CSS动画实现动感3D卡片墙:现代Web设计的视觉盛宴
|
27天前
|
前端开发
一键复制HTML+CSS动画 打造炫酷的搜索框
一键复制HTML+CSS动画 打造炫酷的搜索框
|
27天前
|
容器
html+css动画来袭!登录人人可领
html+css动画来袭!登录人人可领
|
27天前
|
前端开发
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!
CSS动画变形宝典:Transform属性,打造动态视觉盛宴!
|
27天前
|
前端开发
进来!手把手教用css动画写loading效果
进来!手把手教用css动画写loading效果