Подтвердить что ты не робот

Как сохранить непрозрачность текста 100, когда его родительский контейнер имеет непрозрачность 50

У меня есть список div, у которого есть непрозрачность, равная 50, и внутри этого div я хочу отобразить некоторый текст с непрозрачностью 100,

Вот что я имею в виду:

<div id="outer">
  <div id="inner">
    Text
  </div>
</div>

CSS:

#outer {
  opacity: 0.5;
}

#inner {
  opacity: 1.0;
}

Я пробовал это, но он не работает.

пожалуйста, помогите

Привет

4b9b3361

Ответ 1

Простое и совместимое решение - удалить все ваши opacity и использовать:

#outer {
    background: url(50%-transparent-white.png);
    background: rgba(255,255,255,0.5)
}
  • Браузеры, поддерживающие rgba, будут использовать второе объявление background с rgba.
  • Браузеры которые не будут, будут игнорировать второе объявление background и использовать .png.

.png не будет работать в IE6, но проблема вряд ли будет проблемой. Если это так, он может быть разрешен.


Далее описан еще один метод:

http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/

Ответ 2

Есть два способа сделать это: нужно просто установить фоновый цвет контейнера в прозрачный цвет с помощью rgba(r,g,b,.5) - однако это CSS3 и поддерживается только в новых браузерах.

Другим способом является падение абсолютно позиционированного div внутри контейнера с непрозрачностью .5.

<div class="backgroundOpacity">
    My Epic Content
</div>
<br/>
<div class="backgroundDiv">
    <div id="background"> </div>
    My Other Epic Content
</div>
.backgroundOpacity {
 background-color:rgba(0,0,0,.5);
}
.backgroundDiv {
  position:relative;  
}
#background {
 position:absolute;
  top:0;
   left:0;
   width:100%;
   height:100%;
   background-color:#000;
   opacity: .5; 
}

http://jsfiddle.net/thomas4g/vVt8D/1/

Ответ 3

background-color: rgba(0,0,0,0.5);

Ответ 4

Вы можете установить свой внешний div таким образом

background-color: rgba(0, 0, 0, 0.8); opacity: inherit;