Ответ 1
вы не можете.
Если вы используете простой фоновый цвет, тогда да вместо этого используйте rgba.
#text_holder {
background:rgba(0, 0, 255,1);
width: 500px;
height: 200px;
}
#text_holder2 {
background: rgba(0, 0, 255,1);;
width: 500px;
height: 200px;
color: rgba(255, 255, 0, 1);
}
#alpha_30 > div {/* select child */
/*opacity: 0.3;*/
background:rgba(0, 0, 255,0.3);/* give opacity to bg color only */
color: #ff0000;
}
#alpha_100 {
color: #ff0000;
}
Для изображения в качестве фона вы можете подделать непрозрачность, используя основной фоновый цвет в rgba. если вам нужна непрозрачность 0,3 для фона, тогда сделайте 1 -0,3 = 0,7, чтобы установить непрозрачность rgba.
<div class="bg-img">
<p class="text_holder"> some text</p>
</div>
.bg-img {
background:url(http://lorempixel.com/100/100/abstract);
}
.bg-img .text_holder {
background:rgba(255,255,255,0.3);/* here white cause body as white background */
}
Это работа: DEMO обоих (изображение bg внизу теста): http://codepen.io/anon/pen/yGgpz