2017-04-06 70 views
-1

HTML:引導4定心列垂直的內部排

<div class="container-fluid main-header"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col">asdfasdf</div> 
       <div class="col-11">asdasd</div> 
      </div> 
     </div> 
    </div> 

CSS:

@media (min-width: 1900px) { 
    .container { 
    width: 1720px; 
    } 
} 
.main-header { 
    background-color: white; 
    height: 150px; 
} 
.container-fluid .container { 
    padding-left:0; 
    padding-right:0; 
} 

所以,基本上我需要垂直居中我行,因此容器的內容會垂直對齊。我想用flexbox風格來做到這一點。在我看來,像許多設計模板的常見任務,但我找不到合適的解決方案。也許我正在解決這個任務錯了?

Result i want to achieve

我的解決方案:

HTML:

<div class="container-fluid main-header"> 
     <div class="container"> 
      <div class="row header-row align-items-center"> 
       <div class="col-2">asdfasdf</div> 
       <div class="col-10">asdasd</div> 
      </div> 
     </div> 
    </div> 

CSS:

.main-header { 
    background-color: white; 
} 

@media (min-width: 1900px) { 
    .container { 
    width: 1720px; 
    } 
} 
.container-fluid .container { 
    padding-left:0; 
    padding-right:0; 
} 
.header-row { 
    height: 150px; 
} 
+1

中心這之間有什麼?您的代碼並不代表您所展示的屏幕截圖。 – TylerH

+0

@TylerH這就是我尋求幫助的原因。 「也許我正在解決這個問題?」 – Src

+0

@TylerH我需要將.container的內容(列和內容)垂直居中。 – Src

回答

0

如果您未指定.row的高度,它會自動將其高度調整爲其最高的子女身高。當然,除非其父母具有display:flex;,否則指定或由此產生的高度大於.row.row具有flex-grow: 1,在這種情況下.row將增長以匹配父母。

你需要做的另一件事情,以垂直排列flex-direction:row父母的子女是align-items:center

.main-header .row { 
 
    min-height: 150px;  /* required (or height) - use hard units, not % */ 
 
    align-items: center; /* required */ 
 
    display: flex;   /* required */ 
 
    
 
    background-color: #eee; 
 
}
<div class="main-header"> 
 
    <div class="container"> 
 
    <div class="row"> 
 
     <div class="col">asdfasdf</div> 
 
     <div class="col-11">asdasd</div> 
 
    </div> 
 
    </div> 
 
</div>

+0

看看我的解決方案(我編輯了這個問題) – Src

+0

從我的回答中究竟有什麼不清楚?你的'.row'和它最高的孩子一樣高。你需要使它和'.main-header'一樣高。所以,而不是'.main-header {height:150px;}'使用'.main-header .row {height:150px;}' –

+0

@Src,我用你的用例的特定選擇器更新了答案。但請注意[所以]不是免費的編碼服務。如果您需要複製粘貼生產級解決方案,您應該聘請開發人員。如果你想了解一個原則並且找不到任何令人滿意的文檔,可以[so]詢問,有人可能會解釋這個原理,或者鏈接比你能找到的更好的文檔。 –