Chcę, aby tło menu listy znikało, używając krycia, bez wpływu na czcionkę. Czy to możliwe z CSS3?
Odpowiedzi:
teraz możesz używać rgba we właściwościach CSS w ten sposób:
.class {
background: rgba(0,0,0,0.5);
}
0.5 to przezroczystość , zmień wartości zgodnie z projektem.
Demo na żywo http://jsfiddle.net/EeAaB/
więcej informacji http://css-tricks.com/rgba-browser-support/
rgba('black', 0.5)
?
tak, to możliwe. po prostu użyj składni rgba jako koloru tła.
.menue{
background-color: rgba(255, 0, 0, 0.5); //semi-transparent red
}
Oto przykładowa klasa korzystająca z nazwanych kolorów CSS:
.semi-transparent {
background: yellow;
opacity: 0.25;
}
To dodaje tło, które jest w 25% nieprzezroczyste (kolorowe) i w 75% przezroczyste.
PRZESTROGA
Niestety, krycie wpłynie na cały element, do którego jest dołączony.
Więc jeśli masz tekst w tym elemencie, ustawi on również tekst na 25% krycia. :-(
Sposobem na obejście tego problemu jest użycie metod rgba
lub hsla
do wskazania przezroczystości jako części żądanego „koloru” tła. Pozwala to określić przezroczystość tła, niezależnie od przezroczystości innych elementów w elemencie.
Oto 3 sposoby ustawienia niebieskiego tła na 75% przezroczystości bez wpływu na inne elementy:
background: rgba(0%, 0%, 100%, 0.75)
background: rgba(0, 0, 255, 0.75)
background: hsla(240, 100%, 50%, 0.75)
W tym przypadku background-color:rgba(0,0,0,0.5);
jest to najlepszy sposób. Na przykład:background-color:rgba(0,0,0,opacity option);
Aby to osiągnąć, musisz zmodyfikować background-color
element.
Sposoby tworzenia (pół) przezroczystego koloru:
Nazwa koloru CSS transparent
tworzy całkowicie przezroczysty kolor.
Stosowanie:
.transparent{
background-color: transparent;
}
Korzystanie z funkcji rgba
lub hsla
kolorów, które umożliwiają dodanie kanału alfa (krycia) do funkcji rgb
i hsl
. Ich wartości alfa mieszczą się w zakresie od 0 do 1.
Stosowanie:
.semi-transparent-yellow{
background-color: rgba(255, 255, 0, 0.5);
}
.transparent{
background-color: hsla(0, 0%, 0%, 0);
}
Oprócz wspomnianych już rozwiązań można również użyć formatu HEX z wartością alfa ( #RRGGBBAA
lub #RGBA
notacją ).
To całkiem nowe (zawarte w CSS Color Module Level 4), ale już zaimplementowane w większych przeglądarkach (przepraszam, brak IE).
Różni się to od innych rozwiązań, ponieważ traktuje kanał alfa (krycie) również jako wartość szesnastkową, dzięki czemu mieści się w zakresie od 0 do 255 ( FF
).
Stosowanie:
.semi-transparent-yellow{
background-color: #FFFF0080;
}
.transparent{
background-color: #0000;
}
Możesz je również wypróbować:
transparent
:rgba()
:#RRGGBBAA
:innerHTML =
(hej, przynajmniej jest to lepsze niż alerty document.write
, które robili w 2012 roku, ale nadal nie ma manipulacji DOM, poza samouczkiem jQuery, z wyjątkiem fragmentu samouczka, w którym wymieniają odpowiednie metody po jednej na rozdział, a nawet wtedy jest to tylko selekcja - i tak, robią listę document.write
). Ich samouczek XHR używa readyStateChange zamiast onLoad (obsługiwanego od IE7). Aha i ich obejście dla funkcji w formacie JSON? Podkreśl je, aby zostały później ocenione
Tak, możesz po prostu zwykły tekst jako
.someDive{
background:transparent
}