多栏手风琴背景滑动
Multi column accordion background sliding
我已经坚持这个很久了。我正在构建一个常见问题解答部分,在桌面上,它必须有 2 列来填充它的常见问题解答项目。这些项目有一个阴影,整体是用 Bootstrap 4.
制作的
我试过 Flexbox,CSS 列。现在我已经尝试了 CSS 网格,但是我仍然有一个问题,每当我打开手风琴时,另一边的项目也会扩展它的主体。我包括了一支笔来演示这一点。
更新:忘记了一个重要的细节。这是一个 Wordpress 网站,我使用高级自定义字段 (ACF) 插件创建了一个转发器字段。它将 FAQ 项目输出为数组。因此,项目的数量始终是动态的。他们需要填写 2 列,除非课程只有 1 项。
html是:
<ul id="faq-accordion" class="list-unstyled">
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</li>
</ul>
我的小号CSS:
#faq-accordion{
padding: 40px 30px 60px 30px;
display: grid;
grid-gap: 30px;
grid-template-columns: repeat(2, 50%);
grid-template-rows: auto;
grid-auto-flow: row;
height: auto;
width: 500px;
.card-faq{
margin: 0 15px 20px 15px;
border: none;
border-radius: 5px;
box-shadow: 0px 0px 3px rgba(0,0,0,.1);
}
代码笔:https://codepen.io/LemonNick/pen/NEjJPQ
如有任何帮助或建议,我们将不胜感激!现在被困在这个问题上太久了。
也许您应该考虑使用几个带有浮动的 div:
<html>
<head>
<style>
.faq {
float:left;
}
</style>
</head>
<body>
<div class="faq"><!--Put your first column cards here--></div>
<div class="faq"><!--Put your second column cards here--></div>
</body>
</html>
第二个不是扩展它是 body。但是 li 是在跟随高度,因为它在网格中。您只需要将 li 元素的阴影替换为 card-body。所以从这个
#faq-accordion .card-faq
.我刚刚检查过 body 是否保持折叠状态。但是 li 元素的阴影正在制造幻觉。
顺便说一句,我已经调整了你的笔
如果唯一的问题是阴影正在扩大,只需将 .card-faq
的内容包裹在另一个 div
中并将阴影移动到那里
#faq-accordion {
padding: 40px 30px 60px 30px;
display: grid;
grid-gap: 30px;
grid-template-columns: repeat(2, 50%);
grid-template-rows: auto;
grid-auto-flow: row;
height: auto;
width: 500px;
}
.card-faq {
margin: 0 15px 20px 15px;
}
.shadow {
border: none;
border-radius: 5px;
box-shadow: 0px 0px 3px rgba(0, 0, 0, .1);
}
<ul id="faq-accordion" class="list-unstyled">
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="shadow">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</div>
</li>
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="shadow">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</div>
</li>
</ul>
像这样在你的 codepen 中工作:https://codepen.io/anon/pen/gQWywr?editors=0100
我已经坚持这个很久了。我正在构建一个常见问题解答部分,在桌面上,它必须有 2 列来填充它的常见问题解答项目。这些项目有一个阴影,整体是用 Bootstrap 4.
制作的我试过 Flexbox,CSS 列。现在我已经尝试了 CSS 网格,但是我仍然有一个问题,每当我打开手风琴时,另一边的项目也会扩展它的主体。我包括了一支笔来演示这一点。
更新:忘记了一个重要的细节。这是一个 Wordpress 网站,我使用高级自定义字段 (ACF) 插件创建了一个转发器字段。它将 FAQ 项目输出为数组。因此,项目的数量始终是动态的。他们需要填写 2 列,除非课程只有 1 项。
html是:
<ul id="faq-accordion" class="list-unstyled">
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</li>
</ul>
我的小号CSS:
#faq-accordion{
padding: 40px 30px 60px 30px;
display: grid;
grid-gap: 30px;
grid-template-columns: repeat(2, 50%);
grid-template-rows: auto;
grid-auto-flow: row;
height: auto;
width: 500px;
.card-faq{
margin: 0 15px 20px 15px;
border: none;
border-radius: 5px;
box-shadow: 0px 0px 3px rgba(0,0,0,.1);
}
代码笔:https://codepen.io/LemonNick/pen/NEjJPQ
如有任何帮助或建议,我们将不胜感激!现在被困在这个问题上太久了。
也许您应该考虑使用几个带有浮动的 div:
<html>
<head>
<style>
.faq {
float:left;
}
</style>
</head>
<body>
<div class="faq"><!--Put your first column cards here--></div>
<div class="faq"><!--Put your second column cards here--></div>
</body>
</html>
第二个不是扩展它是 body。但是 li 是在跟随高度,因为它在网格中。您只需要将 li 元素的阴影替换为 card-body。所以从这个
#faq-accordion .card-faq
.我刚刚检查过 body 是否保持折叠状态。但是 li 元素的阴影正在制造幻觉。
顺便说一句,我已经调整了你的笔
如果唯一的问题是阴影正在扩大,只需将 .card-faq
的内容包裹在另一个 div
中并将阴影移动到那里
#faq-accordion {
padding: 40px 30px 60px 30px;
display: grid;
grid-gap: 30px;
grid-template-columns: repeat(2, 50%);
grid-template-rows: auto;
grid-auto-flow: row;
height: auto;
width: 500px;
}
.card-faq {
margin: 0 15px 20px 15px;
}
.shadow {
border: none;
border-radius: 5px;
box-shadow: 0px 0px 3px rgba(0, 0, 0, .1);
}
<ul id="faq-accordion" class="list-unstyled">
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="shadow">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</div>
</li>
<li class="card-faq" data-toggle="collapse" data-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
<div class="shadow">
<div class="card-header" id="heading1">
<h3>
<button class="btn btn-link">Accordion 1</button>
</h3>
</div>
<div id="collapse1" class="collapse multi-collapse" aria-labelledby="heading1" data-parent="#faq-accordion">
<div class="card-body">contents
</div>
</div>
</div>
</li>
</ul>
像这样在你的 codepen 中工作:https://codepen.io/anon/pen/gQWywr?editors=0100