You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为W3school手风琴组件的展开区域添加上下内边距?

解决手风琴展开区域上下内边距添加问题

问题根源:原代码中.panel的max-height: 0仅会隐藏内部内容,但元素自身的上下padding属于盒模型的一部分,即使max-height为0,padding的高度仍会显示,导致手风琴未展开时出现异常空白。

解决方案1:给.panel内部添加容器承载上下内边距

保留.panel的左右padding,将上下内边距转移到内部新增的容器上:

  1. 修改HTML结构,在.panel内新增一个容器:
<div class="panel">
  <div class="panel-inner">
    <!-- 手风琴展开后的原内容 -->
  </div>
</div>
  1. 调整CSS样式:
.panel {
  padding: 0 18px; /* 仅保留左右内边距 */
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
.panel-inner {
  padding: 15px 0; /* 设置需要的上下内边距,数值可自定义 */
}

解决方案2:给内容元素设置上下外边距

如果不想新增HTML结构,可直接给.panel内的内容元素设置上下margin:

.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
/* 假设内容是p标签,根据实际使用的标签调整选择器 */
.panel p {
  margin: 15px 0;
}

两种方案都能实现展开区域有上下内边距,同时保证未展开时面板完全收起无异常空白。

内容的提问来源于stack exchange,提问作者Blair A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:10:31