如何对齐图像中心的文本

Posted

技术标签:

【中文标题】如何对齐图像中心的文本【英文标题】:How can I align the text in the center of the image 【发布时间】:2020-01-10 16:33:04 【问题描述】:

我正在尝试将 div 中的文本居中,这个 div 包含一个图像 + 另一个 div,其中包含需要居中的文本。

见下图 https://ibb.co/XF7t0GG

我面临的问题是,也位于 div 中的图像不允许我在中心勾勒出文本。

我尝试应用填充和边距(甚至是负数)但是没有结果

所以现在这是我的 html 和 CSS 文件中的代码:

.destinations 
  padding: 5px 15px;


.destinations img 
  max-width: 100%;
  max-height: 100%;
  border-radius: 10px;


.flex-item 
  width: 290px;
  height: auto;
  border-radius: 10px;
  margin: auto;


.flex-item-title 
  text-align: center;
  color: white;
  background-color: black;
  opacity: 0.8;
<div class="destinations">
  <div class="flex-item">
    <img src="assets/img/wassenaar.jpg">
    <div class="flex-item-title">Wassenaar</div>
  </div>
</div>

希望大家帮帮我

【问题讨论】:

【参考方案1】:

这是一种将文本在图像上垂直和水平居中的方法:

.destinations 
  padding: 5px 15px;


.destination 
  width: 290px;
  height: 290px;
  display: flex;
  border-radius: 10px;
  margin: auto;
  background-image: url("https://placekitten.com/500/500");
  justify-content: center;
  align-items: center;


.title 
  text-align: center;
  color: white;
  background-color: black;
  opacity: 0.8;
<div class="destinations">
  <div class="destination">
    <div class="title">Wassenaar</div>
  </div>
</div>

【讨论】:

谢谢你的回答,这就是我想要的结果。有没有办法拥有 6 个不同的图像,因为它在所有其他目的地使用相同的背景?【参考方案2】:

您可以使用以下 css 解决您的问题。

.flex-item
     width:300px;
     height:200px;
     position: relative;
        padding: 0;
        margin: 0;
        text-align: center;
    


    .flex-item-title
 position: absolute;
        top: 0; right: 0;
        bottom: 0; left: 0;
        width: 300px;
        height: 200px; 
        text-align: center;
            color: white;
            display: inline-table;
           vertical-align:middle;
           line-height:100%;            
        

尝试将您的 css 更改为这个 css,它会起作用。

【讨论】:

感谢您的建议,我在使用此解决方案时遇到的问题是图像后文本仍保留在 div 的底部 请点赞并接受答案,以便日后人们能得到正确答案。谢谢你 。 @Brickinwall 如果您对我的工作表示赞赏并且我的回答对您有用,您能否为答案投票? @Brickinwall 谢谢。

以上是关于如何对齐图像中心的文本的主要内容,如果未能解决你的问题,请参考以下文章

如何左对齐和垂直对齐标题中的图像并将文本水平保持在div的中心[重复]

如何使 SwiftUI 文本多行文本对齐从顶部和中心开始

将图标垂直对齐第一行文本的中心

浮动后对齐中心项目

如何在屏幕的中心顶部对齐图像行

Bootstrap - 内容居中,然后左对齐(相对于中心)