html - Bootstrap 3 with Less - 我如何设法使容器水平和垂直居中

标签 html css twitter-bootstrap twitter-bootstrap-3 less

我正在尝试使用 bootstrap 3 框架和 less 工具构建网页。 对于一个特殊的页面,我想将容器水平和垂直居中。我知道那里已经有一些问题,但对我来说它们不起作用。 所以这是我尝试过的解决方案:

HTML:

   <div class="container hvcenter" > <!-- Container -->
     <div class="row"> <!-- Bootstrap Row -->
       <div class="col-sm-4">
         <img src="img/logo.png" alt="logo" class="img-responsive">
       </div>
       <div class="col-sm-offset-1 col-sm-7">
         <p>Textblock ... </p>
       </div>
     </div>
   </div>

CSS:

.container {
    max-width: 85%;
    padding-top: 3em;
    padding-bottom: 3em;
    background-color: silver;
    border-radius: @border-radius-large * 6;
}

.hvcenter {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

这会导致 div 水平居中,而不是垂直居中。

另一种尝试是为垂直对齐构建一个 mor 类,并使用内置解决方案进行水平对齐 (.center-block):

HTML:

   <div class="container center-block vcenter" > <!-- Container -->
     <div class="row"> <!-- Bootstrap Row -->
       <div class="col-sm-4">
         <img src="img/logo.png" alt="logo" class="img-responsive">
       </div>
       <div class="col-sm-offset-1 col-sm-7">
         <p>Textblock ... </p>
       </div>
     </div>
   </div>

CSS:

.container {
    max-width: 85%;
    padding-top: 3em;
    padding-bottom: 3em;
    background-color: silver;
    border-radius: @border-radius-large * 6;
}

.vcenter {
    display: inline-block;
    vertical-alignment: middle;
    float: none;
}

我对每个答案都很满意。感谢您花时间在这上面。

最佳答案

        
        .container {
    max-width: 85%;
    padding-top: 0;
    background-color: silver;
    border-radius: @border-radius-large * 6;
}

.vcenter {
    display: flex;
    align-items: center;
    height:10em;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

<div class="container center-block" > <!-- Container -->
     <div class="row"> <!-- Bootstrap Row -->
       <div class="col-xs-4">
         <img src="img/logo.png" alt="logo" class="img-responsive">
       </div>
       <div class="col-xs-offset-1 col-xs-7 vcenter">
         <p>Textblock ... </p>
       </div>
     </div>
   </div>

关于html - Bootstrap 3 with Less - 我如何设法使容器水平和垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32684484/

相关文章:

jquery - Bootstrap 旋转木马如何使图像居中

jquery - slider 边框宽度的 CSS 冲突

html - 输入多个的 CSS 样式

javascript - A-frame.js long a-text 值溢出问题

css - 使用 flexbox 将 flex 元素内的元素换行到下一行

javascript - $ 在创建变量时未定义

jquery - 光滑的轮播下一个和上一个箭头无法正常工作

html - 为什么 Bootstrap 会跳过行?

javascript - 正则表达式计算不包括 html 标签的单词

html - 通常在 li 内格式化文本(列表项)