html - 我需要帮助在图像上添加文本

标签 html css portfolio

为什么这段代码没有让我的文字在图片中居中?我已经为此工作了一段时间,这快要让我发疯了。如此简单的事情会带来麻烦。

.header-txt {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    text-align: center;
    font-size: 5em;
}

.header-wrapper {
    postion: relative;
}

.header-img {
    width: 100%;
    height: auto;
}
<div class="header-wrapper">
    <img class="header-img" src="http://science-all.com/images/wallpapers/website-background-images/website-background-images-20.png" alt="macbook">      
    <div class="header-txt">Hello</div>
</div>

最佳答案

一些非常简单的事情。首先,您需要忘记 top:50%。当您这样做时,div 将从顶部开始 50%,而不是从 50% 居中。所以你要做的是添加 top:0;bottom:0;。然后你需要给你的 div 一个高度。我通常做的是,如果它不是动态高度 div,这意味着不会有很多文本,并且在响应式设计中调整大小时它将保持相同的高度,然后右键单击它并检查元素以查看多高然后你可以给它高度。所以你的 div 大约是 90 px 高,所以添加 90 px 的高度。然后将垂直边距设置为自动,这样 margin:auto 0; 然后它应该使绝对定位的 div 在相对定位的 div 中居中。所以你的 css 看起来像这样:

.header-txt {
  position:absolute;
  top:0;bottom:0;
  margin:auto 0;
  width:100%;
  height:90px;
  font-size:5em;
  text-align:center;
}
.header-wrapper {
  position:relative;
}
.header-img {
    width: 100%;
}

如果您要使用动态高度 div,则需要使用不同的技术。在此技术中,您将设置顶部和左侧百分比。大多数人现在都使用 css transform 属性来居中 div,这是一种非常方便的技术,现在有很好的浏览器支持。这是浏览器对这项技术的支持,现在大多数浏览器都支持它 Transform property broswer support .那么你的 css 将如下所示:

.header-txt {
  position:absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size:5em;
}
.header-wrapper {
  position:relative;
}
.header-img {
    width: 100%;
}

别担心上面评论中的那些白痴,我觉得你的问题是这个论坛的用途,一些经常访问该网站的人觉得自己有权利,因为他们知道一些你不知道的事情。我在这个网站上的很多问题中都看到了这一点,这真的让我发疯。您显然试图解决这个问题,只是对如何完成这个问题有一个小问题。

无论如何,希望这对您有所帮助。

关于html - 我需要帮助在图像上添加文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38860348/

相关文章:

用于复选框其他选项的 Jquery 函数

javascript - jQuery 自定义快门

javascript - 如何让登录按钮在点击后变成下拉菜单

html - 垂直居中的一个 Div 占一个固定的 Bar Up Top

php - 如何使用 PHP 和 Mysql 将 HTML div 标签转换为带有 CSS 样式的 pdf

r - 使用 R 将数据帧转换为时间序列

html - 预加载 20MB 以上的图像。值得尝试吗?

javascript - Rhino 中的非终止 RegExp.exec

Safari 中的 JQuery TOOLS 叠加层与页面左侧而不是页面中间对齐

javascript - 使用列表中所选选项的值设置 div 类