2011-08-24 11 views
8

Utworzono element bloku menu, który zastosowałem nieprzezroczystość 0,4/40 do.CSS - Zastosuj krycie do elementu, ale NIE do tekstu w elemencie

Problem polega na tym, że krycie wpływa na tekst w bloku menu i szukam, aby nieprzezroczystość była stosowana TYLKO w bloku menu, ale nie w tekście.

Mam nadzieję, że właśnie opuściłem coś głupiego. Oto mój kod:

#menuLeft{ 
    background-color: #33AAEE; 
    float: left; 
    width: 20%; 
    clear: both; 
    opacity:0.4; 
    filter: alpha(opacity = 40); 
} 

Szukam sposobu, aby zachować kolor tekstu tak samo/ustawić krycie, aby wykluczyć tekst.

Dziękuję.

Odpowiedz

12

To bardzo, bardzo, bardzo popularny problem. Spróbuj użyć rgba():

//Your opacity is the latest value here for Firefox 3+, Safari 3+, Opera 10.10+ 
background-color: rgba(51, 170, 238, 0.6); 
//Your opacity is the first pair here (in HEX!) for IE6+ 
progid:DXImageTransform.Microsoft.gradient(startColorstr=#9A33AAEE,endColorstr=#9A33AAEE); 
zoom: 1; 
float: left; 
width: 20%; 
clear: both; 
/*opacity:0.4; 
filter: alpha(opacity = 40);*/ 

Można również użyć http://css3please.com/ łatwo przekonwertować z HEX na RGB iz powrotem.

+0

Lub bardzo nielubiany problem (!) Dziękuję bardzo za pomoc, to rozwiązało mój problem! – MusTheDataGuy

1

Spróbuj umieścić tekst w elemencie rozpiętość/div bez przejrzystości

+3

Nie wierzę, że to zadziała. Właściwość 'krycie' dotyczy wszystkich elementów zawartych w rodzicielskim' div', nawet jeśli ich własna krycie jest wyższa niż rodzica. [Przykład pracy.] (Http://jsfiddle.net/jj4JX/) – Nick

+0

Minus 1, bc to po prostu nie działa. – Mateng

Powiązane problemy