html - 将文本置于图像之上

标签 html css

我有这张图片:

enter image description here

但我想像这样在中间放置文本:

This is how i wanted.

我怎样才能做到这一点?

我想在 html 中执行此操作,所以我会使用 <div><span>

最佳答案

使用伪元素

以上可以使用包含元素的 ::before::after 伪元素创建。例如,假设我们从这个开始:

<h1>Keep Calm and Stack Overflow</h1>

我们可以定位这两个伪元素,设置它们的尺寸和背景图片,并获得您在上面寻求的相同效果。

h1::before, h1::after {
    content: ""; display: block; height: 3em;
    background: url('ribbon.png') center center;
}

以上只是您可以编写的示例。有关更完整的演示,请参阅 this fiddle .

enter image description here

使用背景图片(2010 年原始答案)

创建一个 div,它是您图像的尺寸。然后把你的文字放在里面。在文本上使用边距/填充使其垂直居中,并将其 CSS 的 text-align 设置为“center”。

.imgBox  { 
    width: 300px; height: 100px; 
    background-image: url('bg.jpg');
}
.imgText { 
    text-align: center; 
    margin: 0; padding: 25px 0 0 0;
}
<div class="imgBox">
  <p class="imgText">Hello World</p>
</div>

关于html - 将文本置于图像之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2275606/

相关文章:

javascript - 用 JavaScript 替换 HTML 改变了样式,图像不再水平内嵌

html - 悬停效果导致 float 导航项在填充百分比而不是像素后从其包含元素中消失?

html - 具有转换问题的绝对位置居中

html - 使图像出现在 div 之上

html - 具有绝对位置的父包装器,如何使宽度自动适合内容,

javascript - 基于动画 SVG 定位 SVG

html - 如何在 Spring MVC 中使用 Twitter Bootstrap

html - 无序列表菜单无法正确定位 + 无法使无序列表中的列表项居中

Facebook Like + Send(发送不显示)

html - 占位符 div 在 IE 中不起作用(光标出现在末尾)