将图标垂直和水平居中,文本位于 div 边框上方
Center icon vertically and horizontally and text just above the div border
我希望 sometext 刚好在 div 边框上方。
.reg_form_fields_icon_box {
margin: 0 auto;
display: flex;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
margin: auto;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
vertical-align: bottom;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>
任何帮助都会很棒。
谢谢。
您可以尝试使用 flexbox 的以下解决方案:
.reg_form_fields_icon_box {
margin: 0 auto;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
display:flex;
flex-direction:column;
width:100%;
height:100%;
text-align:center;
justify-content:space-between;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
top:calc(50% - 20px);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>
添加以下内容css:
div.reg_form_fields_icon_box {
position: relative;
}
div.reg_form_fields_icon_box div.reg_form_fields_icon div.text_name{
position: absolute;
bottom: 0;
}
你可以flexbox
自己做,你不需要calc
来设置位置 - position 绝对 - 所以这就是我做过:
您可以将 reg_form_fields_icon_box
设为 flexbox
,即 垂直 和 水平 对齐。
重置 margin: auto
并将其设置为 100% height
和 width
.reg_form_fields_icon_box .reg_form_fields_icon {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
position: relative;
margin: 0;
}
现在定位 reg_form_fields_icon
absolutely 并将其对齐到 bottom 使用此:
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
参见下面的演示:
.reg_form_fields_icon_box {
margin: 0 auto;
display: flex;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
margin: auto;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
vertical-align: bottom;
}
/*ADDED THESE*/
.reg_form_fields_icon_box .reg_form_fields_icon {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
position: relative;
margin: 0;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>
我希望 sometext 刚好在 div 边框上方。
.reg_form_fields_icon_box {
margin: 0 auto;
display: flex;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
margin: auto;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
vertical-align: bottom;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>
任何帮助都会很棒。
谢谢。
您可以尝试使用 flexbox 的以下解决方案:
.reg_form_fields_icon_box {
margin: 0 auto;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
display:flex;
flex-direction:column;
width:100%;
height:100%;
text-align:center;
justify-content:space-between;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
top:calc(50% - 20px);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>
添加以下内容css:
div.reg_form_fields_icon_box {
position: relative;
}
div.reg_form_fields_icon_box div.reg_form_fields_icon div.text_name{
position: absolute;
bottom: 0;
}
你可以flexbox
自己做,你不需要calc
来设置位置 - position 绝对 - 所以这就是我做过:
您可以将
reg_form_fields_icon_box
设为flexbox
,即 垂直 和 水平 对齐。重置
margin: auto
并将其设置为 100%height
和width
.reg_form_fields_icon_box .reg_form_fields_icon { display: flex; align-items: center; justify-content: center; height: 100%; width: 100%; position: relative; margin: 0; }
现在定位
reg_form_fields_icon
absolutely 并将其对齐到 bottom 使用此:.reg_form_fields_icon_box .reg_form_fields_icon .text_name { position: absolute; bottom: 0; left: 0; right: 0; }
参见下面的演示:
.reg_form_fields_icon_box {
margin: 0 auto;
display: flex;
width: 80px;
height: 80px;
border: thin #dee5e7 solid;
}
.reg_form_fields_icon_box .reg_form_fields_icon {
margin: auto;
}
.reg_form_fields_icon_box .reg_form_fields_icon i {
font-size: 20px;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
vertical-align: bottom;
}
/*ADDED THESE*/
.reg_form_fields_icon_box .reg_form_fields_icon {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
position: relative;
margin: 0;
}
.reg_form_fields_icon_box .reg_form_fields_icon .text_name {
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<div class="reg_form_fields_icon_box text-center">
<div class="reg_form_fields_icon">
<i class="glyphicon glyphicon-font"></i>
<div class="m-t-md text_name">
<span>sometext</span>
</div>
</div>
</div>