繁体   English   中英

如何在框/容器中将文本水平和垂直居中对齐?

[英]How to center align text horizontally and VERTICALLY in a box/container?

我正在尝试创建一个如下所示的网页:

下载页面

我使用了引导程序并创建了行,以使三个下载选项彼此相邻对齐。 然后,我在这些行中创建了容器(以复制框),并使文本居中对齐并水平下载图标。 不幸的是,我不确定如何在容器中垂直对齐文本和图标。 有人可以帮忙吗? 我当前的设计如下所示:

当前设计

我的代码如下:

 .download { font: Verdana, Helvetica, Arial, sans-serif; color: RGB(112, 112, 112); font-size: 18px; text-align: center; padding: 5px; } .download:hover { color: rgb(227, 111, 30); cursor: pointer; } #download-icon { font-size: 80px; float: left; } .container-border { border-style: solid; border-color: rgb(0, 143, 197); padding: 5px; min-height: 120px; } 
 <div class="container"> <div class="row"> <div class="col-xs-4"> <div class="container-border"> <i class="material-icons" style="color:rgb(0,143,197);" id="download-icon">file_download</i> <p class="download"> Download list of charities that have <b> not submitted </b> data yet </p> </div> </div> </div> </div> 

编辑:谢谢大家的回答! 我真的很感激他们。 对我来说,它可以通过以下方式简单地调整我的content-border类:

.container-border {
border-style: solid;
border-color: rgb(0, 143, 197);
padding: 5px;
min-height: 120px;
display: flex;
align-items: center;
/* vertical center */
}

我会在container-border类中使用flexbox 在这种情况下,您可以卸下浮子。

 .download { font: Verdana, Helvetica, Arial, sans-serif; color: RGB(112, 112, 112); font-size: 18px; padding: 5px; text-align: center; } .download:hover { color: rgb(227, 111, 30); cursor: pointer; } #download-icon { font-size: 80px; } .container-border { border-style: solid; border-color: rgb(0, 143, 197); padding: 5px; min-height: 120px; display: flex; align-items: center; /* vertical center */ } 
 <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <div class="container"> <div class="row"> <div class="col-xs-4"> <div class="container-border"> <i class="material-icons" style="color:rgb(0,143,197);" id="download-icon">file_download</i> <p class="download"> Download list of charities that have <b> not submitted </b> data yet </p> </div> </div> </div> </div> 

您无需使用FlexBox使内容复杂化。 请使用以下格式,表格布局或line-heightvertical-align组合:

 .download { font: Verdana, Helvetica, Arial, sans-serif; color: RGB(112, 112, 112); font-size: 18px; text-align: center; padding: 5px; } .download:hover { color: rgb(227, 111, 30); cursor: pointer; } #download-icon { font-size: 80px; vertical-align: middle; line-height: 120px; } #download-icon + span { vertical-align: middle; line-height: 1; } .container-border { border-style: solid; border-color: rgb(0, 143, 197); padding: 5px; min-height: 120px; } 
 <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <div class="container"> <div class="row"> <div class="col-xs-4"> <div class="container-border"> <i class="material-icons" style="color:rgb(0,143,197);" id="download-icon">file_download</i> <span class="download"> Download list of charities that have <b> not submitted </b> data yet </span> </div> </div> </div> </div> 

预习

预习

添加display: flex;align-items: center; .container-border

.container-border{
 border-style:solid;
 border-color: rgb(0,143,197);
 padding: 5px;
 min-height:120px;
    display: flex;
    align-items: center;
 }

为什么不只设置填充:

.download {
    font: Verdana,Helvetica,Arial,sans-serif;
    color: RGB(112,112,112);
    font-size:18px;
    text-align:center;
    /* padding: 5px; <- removed */
    padding: 12px 5px 5px 5px; /* New */
}

#download-icon {
    font-size:80px;
    float:left;
    padding-top: 10px; /* New */
}

.container-border {
    border-style:solid;
    border-color: rgb(0,143,197);
    padding: 5px;
    min-height:120px;
    width: 300px; /* New*/
}

演示:

 .download { font: Verdana,Helvetica,Arial,sans-serif; color: RGB(112,112,112); font-size:18px; text-align:center; /* padding: 5px; <- removed */ padding: 12px 5px 5px 5px; /* New */ } .download:hover { color: rgb(227,111,30); cursor: pointer; } #download-icon { font-size:80px; float:left; padding-top: 10px; /* New */ } .container-border { border-style:solid; border-color: rgb(0,143,197); padding: 5px; min-height:120px; width: 300px; /* New*/ } 
 <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <div class="container"> <div class="row"> <div class="col-xs-4"> <div class="container-border"> <i class="material-icons" style="color:rgb(0,143,197);" id="download-icon">file_download</i> <p class="download"> Download list of charities that have <b> not submitted </b> data yet </p> </div> </div> </div> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM