使用 flex box 如何将文本居中 div
Using flex box how can I center text under a div
我正在尝试使用 flexbox 将文本居中放置在圆形 div 下,但我无法弄清楚。我的目标是在圆圈中放置图标,下面是文本作为标题,但 h2 最终出现在圆圈旁边,我无法弄清楚如何将它放在圆圈的底部。感谢您的帮助!
html,
body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-tems: center;
justify-content: center;
position: absolute;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
}
.flex-container>div:hover {
background-color: #69bf4a;
}
h2 {
position: absolute;
display: inline;
flex-direction: column;
justify-content: flex-start;
}
<div class="flex-container">
<div class="circle"></div>
<div>
<h2>T-SHIRTS</h2>
</div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
弹性框视图中不能有任意元素。所以我建议你给每个弹性元素一个包装器:
<div class="flex-wrap">
<div class="circle"></div>
<div><h2>T-SHIRTS</h2></div>
</div>
现在,回到样式,如果您希望它们具有相同的大小,请使用这种方式:
html, body {
margin: 0;
padding: 0;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-items: top;
justify-content: center;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
}
.flex-container > div:hover {
background-color: #69bf4a;
}
h2 {
text-align: center;
}
<div class="flex-container">
<div class="flex-wrap">
<div class="circle"></div>
<div><h2>T-SHIRTS</h2></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
</div>
预览
为了说明文本居中,请参阅:
试试这个。
html, body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-tems: center;
justify-content: center;
position: absolute;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
text-align: center;
}
.flex-container >div:hover {
background-color: #69bf4a;
}
h2 {
margin-top: 170px;
}
<div class="flex-container">
<div class="circle"><h2>T-SHIRTS</h2></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
我想这是关于我将如何处理这个问题。希望对你有帮助。
<div class="flex-container">
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
</div>
html, body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
align-content: space-between;
align-items: center;
justify-content: center;
}
.flex-item {
-webkit-flex: 1 1 100px;
flex: 1 1 100px;
padding: 25px 45px;
text-align: center;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px auto;
}
.circle:hover {
background-color: #69bf4a;
}
我正在尝试使用 flexbox 将文本居中放置在圆形 div 下,但我无法弄清楚。我的目标是在圆圈中放置图标,下面是文本作为标题,但 h2 最终出现在圆圈旁边,我无法弄清楚如何将它放在圆圈的底部。感谢您的帮助!
html,
body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-tems: center;
justify-content: center;
position: absolute;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
}
.flex-container>div:hover {
background-color: #69bf4a;
}
h2 {
position: absolute;
display: inline;
flex-direction: column;
justify-content: flex-start;
}
<div class="flex-container">
<div class="circle"></div>
<div>
<h2>T-SHIRTS</h2>
</div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
弹性框视图中不能有任意元素。所以我建议你给每个弹性元素一个包装器:
<div class="flex-wrap">
<div class="circle"></div>
<div><h2>T-SHIRTS</h2></div>
</div>
现在,回到样式,如果您希望它们具有相同的大小,请使用这种方式:
html, body {
margin: 0;
padding: 0;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-items: top;
justify-content: center;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
}
.flex-container > div:hover {
background-color: #69bf4a;
}
h2 {
text-align: center;
}
<div class="flex-container">
<div class="flex-wrap">
<div class="circle"></div>
<div><h2>T-SHIRTS</h2></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
<div class="flex-wrap">
<div class="circle"></div>
</div>
</div>
预览
为了说明文本居中,请参阅:
试试这个。
html, body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: flex;
flex-wrap: wrap;
width: 1000px;
align-content: space-between;
align-tems: center;
justify-content: center;
position: absolute;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px;
text-align: center;
}
.flex-container >div:hover {
background-color: #69bf4a;
}
h2 {
margin-top: 170px;
}
<div class="flex-container">
<div class="circle"><h2>T-SHIRTS</h2></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
我想这是关于我将如何处理这个问题。希望对你有帮助。
<div class="flex-container">
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
<div class="flex-item">
<div class="circle"></div>
<h2>T-SHIRTS</h2>
</div>
</div>
html, body {
margin: 0;
padding: 0;
width: 100%;
}
.flex-container {
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
align-content: space-between;
align-items: center;
justify-content: center;
}
.flex-item {
-webkit-flex: 1 1 100px;
flex: 1 1 100px;
padding: 25px 45px;
text-align: center;
}
.circle {
border-radius: 50%;
background: #252525;
width: 150px;
height: 150px;
border: 10px solid #69bf4a;
margin: 20px auto;
}
.circle:hover {
background-color: #69bf4a;
}