使用 HTML、CSS 和 Javascript 的简单手风琴菜单
在本文中,我将向您展示如何使用 HTML、CSS 和 JavaScript 代码创建手风琴菜单。之前我展示了多种类型的动画 CSS 手风琴菜单的设计。现在是时候用 JavaScript 重新创建它了。
响应式折叠菜单拥有一个原创标题。点击该标题时,所有与该标题相关的信息都会显示在下方。
手风琴菜单是一种现代化的内容结构,可以将大量信息整齐地排列在一个地方。这种结构适用于不同类型的网站。这种设计主要用于常见问题解答部分或问答部分。
步骤1:在网页上创建一个框
我使用下面的 HTML 和 CSS 代码设计了该页面,并在网页上创建了一个框。我在这里创建了一个框,并在其中添加了所有标题和信息。我使用的框宽度为 500px,背景颜色为白色。
我使用了 box-shadow 来让它看起来更亮。我之前border-radius: 5px
把这四个盒子弄得有点圆。
<div class="accordionWrapper">
</div>
body{
background: #16bbce;
}
.accordionWrapper{
padding:30px;
background:#fff;
float:left;
width:500px;
border-radius: 5px;
box-sizing:border-box;
margin:10%;
box-shadow: 0 1.5em 85px 0 rgba(0, 0, 0, 0.2);}
第 2 步:在折叠菜单中添加所有信息
现在,我使用以下 HTML 代码添加了各种标题和信息。下面我分三步添加了三个标题及其信息。
您可以使用图片或其他内容代替这些信息。我在这里添加了 3 个信息部分,您可以根据需要增加或减少数量。
<div class="accordionItem open">
<h2 class="accordionItemHeading">Accordions Menu HTML CSS <span>+</span></h2>
<div class="accordionItemContent">
<p>This simple accordion degrades gracefully in browsers that don't support JavaScript or CSS.</p>
</div>
</div>
<div class="accordionItem close">
<h2 class="accordionItemHeading">Accordion Menu Javascript <span>+</span></h2>
<div class="accordionItemContent">
<p>A JavaScript accordion is made up of a number of expandable/collapsible items. Only one item is ever shown at a time.</p>
</div>
</div>
<div class="accordionItem close">
<h2 class="accordionItemHeading">Accordion Menu Jquery <span>+</span></h2>
<div class="accordionItemContent">
<p>Click an accordion item's heading to expand it. To collapse the item, click it again, or click another item heading.</p>
</div>
</div>
步骤3:设计上面添加的信息
我已经设计好了使用上述 HTML 代码添加的信息。首先,我设计了标题。我使用了font-size: 22px
和background: #2980b9
。每个标题都使用了加号 (+)。
.accordionItem{
float:left;
display:block;
width:100%;
box-sizing: border-box;
font-family:'Open-sans',Arial,sans-serif;
}
.accordionItemHeading{
cursor:pointer;
margin:0px 0px 10px 0px;
padding:10px;
font-size: 22px;
font-weight: 400;
background:#2980b9;
color:#fff;
width:100%;
border-radius: 3px;
box-sizing: border-box;
}
.accordionItemHeading span{
float: right;
font-size: 25px;
}
步骤 4:在菜单关闭时进行设计
现在我已经确定了这个 CSS 手风琴菜单在打开和关闭时的外观。首先,我使用以下代码设计了关闭条件。
这里我用了height: 0px
内容的,意思是靠近的时候看不到它的内容。
.close .accordionItemContent{
height:0px;
transition:height 1s ease-out;
transform: scaleY(0);
float:left;
display:block;
}
步骤 5:在菜单打开时进行设计
现在,我使用以下 CSS 代码设计了打开状态。这些代码决定了点击这些标题时内容的显示方式。
这里没有给出内容的具体高度。高度取决于内容的数量。这里我使用了白色作为背景色,并在内容周围添加了浅色边框。
.open .accordionItemContent{
padding: 20px;
background-color: #f0f1f1;
border: 1px solid #ddd;
width: 100%;
margin: 0px 0px 10px 0px;
display:block;
transform: scaleY(1);
transform-origin: top;
transition: transform 0.4s ease;
box-sizing: border-box;
}
.open .accordionItemHeading{
margin:0px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
border-bottom-right-radius: 0px;
border-bottom-left-radius: 0px;
background-color: #073e63;
color: #cdd7d8;
}
步骤 6:使用 JavaScript 激活简单手风琴菜单
现在,我使用下面的 JavaScript 激活了这个菜单栏。这意味着当你点击某个文本时,就会看到其相关信息。我使用 JavaScript 代码来激活这个作品。
首先我逐一设置了 acordionItem 和 accordionItemHeading 的常量。
var accItem = document.getElementsByClassName('accordionItem');
var accHD = document.getElementsByClassName('accordionItemHeading');
现在,我已经使用下面的 JavaScript 代码激活了这个动画手风琴菜单栏。希望你了解基本的 JavaScript 知识,如果你不了解,可以观看视频教程。
for (i = 0; i < accHD.length; i++) {
accHD[i].addEventListener('click', toggleItem, false);
}
function toggleItem() {
var itemClass = this.parentNode.className;
for (i = 0; i < accItem.length; i++) {
accItem[i].className = 'accordionItem close';
}
if (itemClass == 'accordionItem close') {
this.parentNode.className = 'accordionItem open';
}
}
希望通过以上教程,您已经学会了如何使用 HTML、CSS 和 JavaScript 创建手风琴菜单。
我已经使用 Bootstrap 和 JQuery 制作过类似的设计。如果您感兴趣,可以看看。
相关文章:
您可以访问我的博客获取更多类似的教程。https
://www.foolishdeveloper.com/