Самый лучший способ я знаю, для этого нужно установить тот же фон в элементе контейнера и элемент с текстом в нем. В этом случае для полупрозрачного черного фона вам понадобится элемент, содержащий средний элемент. Вот что я придумал:
div,
aside span {
background-image: url(http://lorempixel.com/400/400/nature);
}
div {
width: 400px;
height: 400px;
}
aside {
background: rgba(0, 0, 0, 0.7);
width: 400px;
height: 200px;
}
aside span {
display: block;
font-size: 3em;
font-family: arial;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
<div>
<aside>
<span>HERE IS SOME TEXT</span>
</aside>
</div>
Так что магия является укладка на пролете. Вы были на правильном пути, но нам нужно было иметь этот фон на самом пролете, чтобы мы могли привязать его к тексту.
Это решение работает только в webkit!
Возможный дубликат [прозрачный div над изображением, но непрозрачный текст] (http://stackoverflow.com/questions/16679093/transparent-div-over-an-image-but-opaque-text) – emmanuel
@emmanuel этот вопрос полностью отличается – Purag
На всякий случай - вы используете 'position'? –