温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

HTML如何实现点击按钮展开菜单

发布时间:2020-07-21 11:55:32 来源:亿速云 阅读:2187 作者:Leah 栏目:web开发

HTML如何实现点击按钮展开菜单?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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>

浏览器上显示效果如下

HTML如何实现点击按钮展开菜单

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

HTML如何实现点击按钮展开菜单

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

如果它受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>

浏览器上显示效果如下:

HTML如何实现点击按钮展开菜单

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

HTML如何实现点击按钮展开菜单

关于HTML如何实现点击按钮展开菜单问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI