我正在为我正在编写的一个项目做一个常见问题解答部分。我将列出潜在买家可能会遇到的常见问题。我希望当用户在问题后单击+
按钮时,在下面打开一个新的段落来回答问题。我现在关注的是让所有的+
按钮都垂直对齐。如果你看看现在的情况,每个+
都根据问题的长度排列在不同的位置。我使用justify-content: space-between
来使问题和+
之间有一个合理的距离,但它看起来很俗气,所有+
都没有垂直对齐在一起。
section {
background-color: #fff;
height: 100vh;
height: fill-available;
min-height: -moz-available;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow-x: hidden;
}
.faq {
display: flex;
flex-direction: column;
justify-content: center;
}
.container {
display: flex;
width: 60vw;
}
.left {
width: 100%;
}
.get-started {
font-family: "Poppins", sans-serif;
font-size: 28px;
}
.question {
display: flex;
justify-content: space-between;
}
<section class="faq">
<div class="container">
<div class="left">
<div class="get-started">
<p>Learn How To Get Started</p>
</div>
<div class="question">
<p>How do I create a website?</p>
<button>+</button>
<div>
<p></p>
</div>
</div>
<div class="question">
<p>Is this website right for me?</p>
<button>+</button>
<div>
<p></p>
</div>
</div>
<div class="question">
<p>How much will web storage cost me?</p>
<button>+</button>
<div>
<p></p>
</div>
</div>
</div>
</div>
</section>
2条答案
按热度按时间gc0ot86w1#
JS Fiddle demo。
至于如何更好地处理它,利用现有的HTML元素和原生功能,我建议如下(正如在问题的评论中已经提到的):
JS Fiddle demo。
参考文献:
::before
。::marker
。align-content
。background-color
。content
。display
。flex-direction
。flex-flow
。flex-grow
。flex-wrap
。gap
。justify-content
。line-height
。text-align
。<details>
。<summary>
。document.querySelectorAll()
。eventTarget.addEventListener()
。HTMLElement.hidden
。NodeList.forEach()
。nfeuvbwi2#
如果你想使用
justify-content: space-between;
右对齐按钮,你应该只有两个元素在容器中,否则,容器的所有元素之间将有相同的空间(在你的例子中,按钮之后)。在下面的代码片段中,我创建了一个div(.label)来 Package 问题段落和按钮,然后我在上面使用了flexbox。