Bootstrap 3:如何在圆形图像下精确定位文本中心?

时间:2019-03-04 18:22:44

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

我正在使用引导程序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 :(得分:2)

对您的代码的简单修补就是将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>

答案 1 :(得分:1)

您可以将自定义类.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>

答案 2 :(得分:0)

您只能使用一行,然后将图像和文本居中。

<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>

更新:您仍然可以使用这些列...我已将其添加到示例的简短版本中

答案 3 :(得分:0)

Flexbox CSS

display : flex;
justify-content : center;
align-items : center