Bootstrap 3: Как точно центрировать текст под круглым изображением? - PullRequest
0 голосов
/ 04 марта 2019

Я использую bootstrap 3, текст не идеально выровнен под круговым изображением, это более очевидно на разных экранах и в моделях начальной загрузки и на разных языках, я не хочу начинать добавлять margin-left, потому что еслиЯ сделаю это, я буду неисправен на каком-то экране.Есть ли лучший способ?

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
  
  <div class="container">
  <div class="row">
  <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Arabic </span>
    </div>
    </div>  
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Dari </span>
    </div>
    </div> 
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Pashto </span>
    </div>
    </div>  
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Kurdish </span>
    </div>
    </div>  
    
  </div>
  
  <div class="row">
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Farsi </span>
    </div>
    </div>  
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Tigrinya </span>
    </div>
    </div>  
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> Amharic </span>
    </div>
    </div>  
    
      <div class="col-xs-3">
    <div class="row">
      <img src="https://i.imgur.com/ABwB1YD.png" alt="">
    </div>
    <div class="row">
      <span class="country text-center"> English </span>
    </div>
    </div>  
  </div>
  
</div>

Ответы [ 4 ]

0 голосов
/ 04 марта 2019

Вы можете добавить пользовательский класс .center к своему внешнему .container div.Это выровняет изображение и текст по центру, используя text-align: center;.

.center {
  text-align: center;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>

<div class="container center">
  <div class="row">
    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Arabic </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Dari </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Pashto </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Kurdish </span>
      </div>
    </div>

  </div>

  <div class="row">
    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Farsi </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Tigrinya </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Amharic </span>
      </div>
    </div>

    <div class="col-xs-3">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> English </span>
      </div>
    </div>
  </div>

</div>
0 голосов
/ 04 марта 2019

Flexbox CSS

display : flex;
justify-content : center;
align-items : center
0 голосов
/ 04 марта 2019

Простое исправление в вашем коде - просто добавить класс text-center ко всем col-xs-* классам.Это будет центрировать внутренние изображения и текст внутри оболочки col-xs-*.Примечание. Я добавил цвет фона для визуализации эффекта.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
  
<div class="container">
  <div class="row">
    <div class="col-xs-3 text-center bg-info">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Arabic </span>
      </div>
    </div>  
    
    <div class="col-xs-3 text-center bg-warning">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Dari </span>
      </div>
    </div> 
    
    <div class="col-xs-3 text-center bg-info">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Pashto </span>
      </div>
    </div>  
    
    <div class="col-xs-3 text-center bg-warning">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Kurdish </span>
      </div>
    </div>
  </div>
  
  <div class="row">
    <div class="col-xs-3 text-center bg-warning">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Farsi </span>
      </div>
    </div>  
    
    <div class="col-xs-3 text-center bg-info">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Tigrinya </span>
      </div>
    </div>  
    
    <div class="col-xs-3 text-center bg-warning">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> Amharic </span>
      </div>
    </div>  
    
    <div class="col-xs-3 text-center bg-info">
      <div class="row">
        <img src="https://i.imgur.com/ABwB1YD.png" alt="">
      </div>
      <div class="row">
        <span class="country text-center"> English </span>
      </div>
    </div>  
  </div>
  
</div>
0 голосов
/ 04 марта 2019

Вы можете использовать только одну строку, а затем центрировать изображение и текст.

<div class="col-xs-3">
    <div class="row text-center">
            <img src="https://i.imgur.com/ABwB1YD.png" alt="">
            <br>
            <span class="country text-center"> Arabic </span>
    </div>
</div>

Обновление: вы все еще можете использовать столбцы ... Я добавил их в короткую версию вашего примера

...