我知道您的问题的答案已经被接受,但我想我可以提供两分钱,只是为了完整起见。
<div>
虽然创建一个附加元素来保存文本没有固有的问题,但我更喜欢使用::after
伪元素来创建一个。它可能(恕我直言)在语义上更正确,但这实际上取决于您希望文本用作什么目的。
在我的示例中,我已将您希望在背景中显示的文本放置在 HTML 数据属性中,例如data-bg-text
:
<div class="bg-text" data-bg-text="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu quam dolor, et aliquet lectus.
</div>
对于您的 CSS,您只需创建一个伪元素,并从自定义 HTML 数据属性中分配内容:
.bg-text {
background-color: #aaa;
overflow: hidden;
padding: 20px 20px 100px 20px;
position: relative;
width: 400px;
}
.bg-text::after {
color: #fff;
content: attr(data-bg-text);
display: block;
font-size: 80px;
line-height: 1;
position: absolute;
bottom: -15px;
right: 10px;
}
请参阅此处的小提琴 - http://jsfiddle.net/teddyrised/n58D9/或查看下面的概念验证示例:
.bg-text {
background-color: #aaa;
padding: 20px 20px 100px 20px;
position: relative;
width: 400px;
overflow: hidden;
}
.bg-text::after {
color: #000;
content: attr(data-bg-text);
display: block;
font-size: 80px;
line-height: 1;
position: absolute;
bottom: -15px;
right: 10px;
}
<div class="bg-text" data-bg-text="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eu quam dolor, et aliquet lectus.</div>