我创建了一个子容器,其中包含两个我想显示为 flex-direction: row with justify-content: space-between 的元素。我似乎无法让它工作。
HTML:
<body>
<div class="container">
<div class="randqg">
<div class="title">Random Quote Generator</div>
<div class="subcontainer">
<i class="fa fa-quote-left fa-3x" aria-hidden="true"></i>
<a class="twitter-share-button" href="https://twitter.com/intent/tweet">Tweet</a>
</div>
<blockquote id="text">Original Text</blockquote>
<div class="subcontainer">
<span id="author">author</span>
<i class="fa fa-quote-left" aria-hidden="true"></i>
</div>
</div>
</div>
</body>
<script src="https://use.fontawesome.com/02b956c77d.js"></script>
CSS:.container {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
background-color: blue;
}
.randqg {
display: flex;
align-items: center;
min-height: 24em;
justify-content: center;
flex-direction: column;
width: 500px;
height: 50%;
border: 5px solid red;
}
.title {
}
.subcontainer{
width: 80%;
height: 80%;
flex-direction: column;
justify-content: space-between;
align-items: center;
margin: auto;
}
JS fiddle :https://jsfiddle.net/3qx8aw44/我已经使用开发工具检查过 justify-content 应用于子容器,所以我不认为这是一个错字错误。
我认为这可能是没有足够的可用空间在元素之间分配的问题。因此将宽度更改为小于 100%。
我检查了
最佳答案
这是因为你使用的是显示块,不能使用显示块,并且在同一个div中赋予像justify-content这样的flex属性,你需要使用display flex:
.subcontainer{
width: 80%;
height: 80%;
flex-direction: column;
justify-content: space-between;
align-items: center;
display: flex; /* added */
}