центрирование div внутри столбца, вложенного в строку flex - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь центрировать (по горизонтали и вертикали) элемент div внутри столбца (это столбец с class="centered-column"), вложенный в строку сгиба.

Я пытался применить информацию, указанную на этом ответе , а также на этом руководстве по CSS-трюкам , но безуспешно.

Вот код:

span {
  font-size: 20px;
}
.row {
  display: -webkit-flex;
  display: -ms-flexbox;
}
.col-md-8 {
	background-color: lightblue;
}
.centered-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container">
<div class="row">
    <div class="col-md-4 text-center">
      <div class="row">
        <div class="col-md-12">
            <span>Row number 1</span>
        </div>
      </div>
      <div class="row">
        <div class="col-md-12">
          <span>Row number 2</span>
        </div>
      </div>
    </div>
    <div class="col-md-8">
       <div class="centered-column">
          <span>Some text<span>
       </div>
    </div>
</div>

Что я должен сделать, чтобы это работало (обратите внимание, что я должен использовать Bootstrap 3)?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Как прокомментировал @Temani afif, единственное, что необходимо сделать, это:

<div class="col-md-8 centered-column">
   <span>Some text<span>
</div>

полный фрагмент:

span {
  font-size: 20px;
}
.row {
  display: -webkit-flex;
  display: -ms-flexbox;
}
.col-md-8 {
	background-color: lightblue;
}
.centered-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container">
<div class="row">
    <div class="col-md-4 text-center">
      <div class="row">
        <div class="col-md-12">
            <span>Row number 1</span>
        </div>
      </div>
      <div class="row">
        <div class="col-md-12">
          <span>Row number 2</span>
        </div>
      </div>
    </div>
    <div class="col-md-8 centered-column">
       <span>Some text<span>
    </div>
</div>
0 голосов
/ 13 мая 2018

Вам нужно указать .centered-column высоту. В противном случае он имеет рост своих детей. Дети расположены по центру, но не в столбце:

span {
  font-size: 20px;
}
.row {
  display: -webkit-flex;
  display: -ms-flexbox;
}
.col-md-8 {
	background-color: lightblue;
}
.centered-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container">
<div class="row">
    <div class="col-md-4 text-center">
      <div class="row">
        <div class="col-md-12">
            <span>Row number 1</span>
        </div>
      </div>
      <div class="row">
        <div class="col-md-12">
          <span>Row number 2</span>
        </div>
      </div>
    </div>
    <div class="col-md-8">
       <div class="centered-column">
          <span>Some text<span>
       </div>
    </div>
</div>
...