2010-06-28 4 views
3

Я пытаюсь создать ButtonBar с помощью простого <div> и изменить его непрозрачность до 50% и дают фоновуюИграя с CSS непрозрачностью

Но элементы, которые приходят внутри этого разделения демонстрируют ту же прозрачность, как там родитель <div>. Я хочу, чтобы они сохранили 100% непрозрачность. (Это невозможно). Как сделать это возможным?

Образец CSS, что я пытаюсь сделать это

<style>  
    #bar { background:#09f;opacity:0.5; } 
    #bar a { background:#FF0;opacity:1; } 
</style> 
<div id="bar"> 
    <a href="#">Home</a> 
    <a href="#">Contact</a> 
    <a href="#">Feedback</a> 
</div> 

ответ

6

Вы должны использовать rgba свойство для этого, так как помутнение затрагивает всех детей.

#bar { background: rgba(0, 120, 255, 0.5); } 

Крис Coyier (CSS-уловок) написал пост об этом: http://css-tricks.com/rgba-browser-support/

+0

Лучший возможный ответ с RGBA 4 Param :) +1 – RobertPitt

+0

Но это не IE Совместимость – Starx

+0

@Starx ни в 'opacity' Делай, как говорит @RobertPitt, включают в себя «rgba» как вторичный параметр, поэтому у вас есть откат для IE. Если вы хотите использовать более кросс-браузерное решение, используйте ответ oezi: прозрачный png (не работает в IE6, хотя), что не так просто, как использование только CSS, но будет работать с IE7 +. – peirix

1

если вы хотите только фон непрозрачными, вы можете использовать прозрачный PNG или RGBA-значение в качестве фона. в противном случае это невозможно (как вы упомянули).

0

Установите непрозрачность в графическом редакторе и сгладьте два слоя вместе.

Вы также можете add another element.

(Вы также должны использовать a list.)

Смежные вопросы