实现CSS3手风琴效果可以使网站页面更加美观,而通过设置高度不固定可以更好的适应各种大小的页面。下面我们来看看如何实现一个高度不固定的CSS3手风琴。首先,在HTML代码中设置一个包含所有手风琴项的父...
实现CSS3手风琴效果可以使网站页面更加美观,而通过设置高度不固定可以更好的适应各种大小的页面。下面我们来看看如何实现一个高度不固定的CSS3手风琴。
首先,在HTML代码中设置一个包含所有手风琴项的父容器以及每个手风琴项的容器,如下所示:
html
<div class="accordion">
<div class="accordion-item">
<h3 class="accordion-header">第一个手风琴项</h3>
<div class="accordion-content">
<p>第一个手风琴项的内容</p>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header">第二个手风琴项</h3>
<div class="accordion-content">
<p>第二个手风琴项的内容</p>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header">第三个手风琴项</h3>
<div class="accordion-content">
<p>第三个手风琴项的内容</p>
</div>
</div>
</div> css
.accordion {
width: 100%;
}
.accordion-item {
border: 1px solid #ccc;
margin-bottom: 10px;
}
.accordion-header {
padding: 10px;
background-color: #eee;
margin: 0;
cursor: pointer;
}
.accordion-content {
max-height: 0;
transition: max-height 0.3s ease-in-out;
overflow: hidden;
}
.accordion-item.active .accordion-content {
max-height: 1000px;//设置手风琴项的最大高度,可以根据实际需求进行调整
transition: max-height 0.5s ease-in-out;
} javascript
var accordionItemHeaders = document.querySelectorAll(".accordion-header");
accordionItemHeaders.forEach(function(accordionItemHeader) {
accordionItemHeader.addEventListener("click", function() {
var accordionItem = this.parentElement;
accordionItem.classList.toggle("active");
});
});