首页 热点资讯 义务教育 高等教育 出国留学 考研考公

HTML如何实现展开式菜单(实现效果:点击一项展开子菜单,点击另一项展 ...

发布网友 发布时间:2022-04-23 08:54

我来回答

2个回答

懂视网 时间:2022-04-20 13:07

本篇文章我们来介绍一下HTML中点击时创建一个扩展元素的菜单,下面我们来看具体的内容。

点击按钮展开菜单

我们先来看一个问题

“按钮名称”由黑色边框线包围,单击时,文本将显示在底部,边框线保持不变。

当我点击它时,我想扩展边框线,以便包括“按钮名称”在内的整个句子。

但是,要想让边框线的大小完美地围绕要显示的字符,这样大小会在那时改变,该怎么写呢?

我们来看一个代码

CSS代码

.hidden_box{
 display:inline-block;
 margin:0;
 padding:0;
}
.hidden_box label{
 padding: 15px;
 font-weight: bold;
 border: solid 2px black;
 cursor :pointer;
}
.hidden_box label:hover{background: #efefef;}
.hidden_box input{display: none;}
.hidden_box .hidden_show{
 height: 0;
 padding: 0;
 overflow: hidden;
 opacity: 0;
 transition: 0.8s;
}
 .hidden_box input:checked ~ .hidden_show{
 padding: 10px 0;
 height: auto;
 opacity: 1;
}

HTML代码

<div class="hidden_box">
 <label for="label1">按钮名称</label>
 <input type="checkbox" id="label1"/>
 <div class="hidden_show">
 文章文章文章文章。文章文章文章文章。文章文章文章文章。
 文章文章文章文章。文章文章文章文章。
 </div>
</div>

浏览器上显示效果如下

2345截图20181128155047.png

当鼠标点击“按钮名称”,会在浏览器上出现以下效果

2345截图20181128160939.png

从显示效果中看,上述代码似乎并不能够完美的解决提出的问题,接下来我们就来看看具体的解决方法

如果它受CSS的,它将是一个比较粗略的方法,但有一种方法可以将它全部放在label中。

首先,我们来添加display: block,以便包含内部块元素。

.hidden_box label{
 padding: 15px;
 font-weight: bold;
 border: solid 2px black;
 cursor :pointer;
 display: block;
}

接下来,将hidden_show类的宽度设置为width,以便使点击前的状态保持适当的宽度

.hidden_box .hidden_show{
 height: 0;
 width: 0;
 padding: 0;
 overflow: hidden;
 opacity: 0;
 transition: 0.8s;
}

.hidden_box input:checked ~ .hidden_show{
 padding: 10px 0;
 height: auto;
 width: auto;
 opacity: 1;
}

之后,我们来看一下HTML的代码

<div class="hidden_box">
 <label for="label1">
 按钮名称
 <input type="checkbox" id="label1"/>
 <div class="hidden_show">
 文章文章文章文章。文章文章文章文章。文章文章文章文章。
 文章文章文章文章。文章文章文章文章。
 </div>
 </label>
</div>

浏览器上显示效果如下:

2345截图20181128160542.png

当点击“按钮名称”后面的选择框时,浏览器上显示效果如下:

2345截图20181128160516.png

热心网友 时间:2022-04-20 10:15

<a href="#">
<div id="main1" style="color:blue"

onclick="document.all.child1.style.display='none';document.all.child2.style.

display='none';document.all.child1.style.display=

(document.all.child1.style.display=='none')?'':'none'">经济贸易学院

</div></a>
<div id="child1" style="display:none;">
<a href="./zy-dzsw.html" target="zynr">电子商务</a><br>
<a href="./zy-scyx.html" target="zynr">市场营销</a><br>
<a href="#">国际贸易实务</a><br>
</div>

<a href="#"><div id="main2" style="color:blue"

onclick="document.all.child1.style.display='none';document.all.child2.style.

display='none';document.all.child2.style.display=

(document.all.child2.style.display=='none')?'':'none'">交通与信息学院

</div></a>
<div id="child2" style="display:none;">
<a href="#">计算机网络技术</a><br>
<a href="#">移动通信</a><br>
<a href="#">计算机系统维护</a><br>
</div>

</div>

在你的onclick事件中加上document.all.child1.style.display='none';document.all.child2.style.display='none';就可以了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com