Widzę w odnośnikach CSS, jak ustawić przezroczystość obrazu i jak ustawić obraz tła . Ale jak połączyć te dwa elementy, aby ustawić przezroczysty obraz tła?
Mam obraz, który chciałbym wykorzystać jako tło, ale jest on zbyt jasny - chciałbym zmniejszyć krycie do około 0,2. W jaki sposób mogę to zrobić?
#main {
background-image: url(/wp-content/uploads/2010/11/tandem.jpg);
}
opacity: ...
we wszystkich przeglądarkach, jest o wiele lepiej!źródło
:before
zamiast,:after
a potem nie muszę manipulować,z-index
ponieważ automatycznie:before
kończy się poniżej głównej zawartości. (Obecnie testowane w Chrome i FF.)background-repeat: no-repeat; background-attachment: fixed; background-position: center;
w ciągu #main: after {...} .Rozwiązanie z 1 dywizją i BEZ przezroczystego obrazu:
Możesz użyć funkcji CSS3 multibackground i umieścić dwa tła: jedno z obrazem, drugie z przezroczystym panelem nad nim (bo myślę, że nie ma sposobu, aby ustawić bezpośrednio krycie obrazu tła):
Nie możesz użyć,
rgba(255,255,255,0.5)
ponieważ sam jest akceptowany tylko z tyłu, więc użyłem wygenerowanych gradientów dla każdej przeglądarki w tym przykładzie (dlatego jest tak długi). Ale koncepcja jest następująca:http://jsfiddle.net/pBVsD/1/
źródło
Proste rozwiązanie
jeśli chcesz ustawić gradient tylko na obraz w tle :
źródło
Widziałem to, aw CSS3 możesz teraz umieścić kod w ten sposób. Powiedzmy, że chcę, aby obejmował całe tło, zrobiłbym coś takiego. Następnie z
hsla(0,0%,100%,0.70)
lub rgba używasz białego tła z dowolnym procentowym nasyceniem lub kryciem, aby uzyskać pożądany wygląd.źródło
Aby to zrobić, możesz użyć selektora psuedo CSS :: po. Oto działające demo.
źródło
Miałem podobny problem. Miałem obraz i chciałem zmniejszyć przezroczystość i mieć czarne tło za obrazem. Zamiast zmniejszania krycia lub tworzenia czarnego tła lub jakiegokolwiek dodatkowego elementu div ustawiam gradient liniowy na obrazie w jednym wierszu:
źródło
Użyłem odpowiedzi @Dan Eastwell i działa bardzo dobrze. Kod jest podobny do jego kodu, ale z pewnymi dodatkami.
źródło
Świetnym sposobem na zrobienie tego dla prostego obrazu jest zrobienie tego za pomocą CSS, aby ustawić tło elementu HTML w ten sposób.
Jeśli chcesz się spodobać i ustawić jego krycie, to w IE9 + * możesz ustawić przezroczysty kolor tła ciała. Działa to poprzez nałożenie półprzezroczystej bieli, aby obraz był bielszy i wydawał się jaśniejszy. Na przykład biel z 75% kryciem (
rgba(255,255,255,.75)
) dałaby następujący efekt.position: relative
, podczas gdy treść jestposition: absolute
. Zapobiega to zachowaniu się koloru tła ciała bardziej jak rozświetlacza tekstu w ciele.Można to nawet rozszerzyć na coś porównywalnego, ale wciąż bardzo różniącego się od filtrów CSS, zmieniając wokół koloru tła RGBA. Na przykład
rgba(0,255,0,.75)
utworzyłby bardzo zielony odcień, co widać we fragmencie kodu.rgba(0,255,0,.75)
jako przykład{red:0, green:255, blue:0, alpha:'75%'}
.* Pełną tabelę zgodności można znaleźć na stronie Can I Use. Pamiętaj jednak, że musisz kliknąć „Pokaż wszystko”, aby zobaczyć, że IE9 obsługuje to.
Uzupełnienie
Ponieważ już odpowiedziałem na pytanie, ale mam więcej, które chcę dodać, zatytułuję ten dodatek do sekcji i dodam kilka potencjalnie pomocnych informacji. Tak więc, aby ekstrapolować jeszcze bardziej na powyższej treści, możesz użyć SVG jako obrazu tła, aby robić niegodziwe niesamowite rzeczy. Na przykład możesz utworzyć tło ekranu ładowania z fajną ikoną witryny, jak widać na przykładzie SVG zakodowanego w standardzie base64 poniżej.
background-size: cover
CSS powoduje logo SVG w tle, aby być zmniejszane do rozmiaru elementu HTML.źródło
W swoim CSS dodaj ...
W JavaScript użyj ...
Uwaga: w razie potrzeby dodaj prefiksy dostawcy, ale bez Chromium.
źródło
Cóż, jedynym sposobem CSS na zrobienie tylko przezroczystości tła jest
RGBa
przejście, ale ponieważ chcesz użyć obrazu, sugeruję użycie Photoshopa lub Gimpa, aby uczynić obraz przezroczystym, a następnie użyć go jako tła.źródło
opactiy: 1;
nie tylko RGBa.background-image
stylu na kontenerze, a następnie ustawienieopacity
stylu na tym samym elemencie. Dzięki temu tekst i inne treści tego elementu będą przejrzyste. Wypróbuj to, jeśli mi nie wierzysz: w3schools.com/Css/tryit.asp?filename=trycss_transparencyWłaśnie dodałem pozycję = wartość absolutna, góra = 0, szerokość = 100% w #main i ustawiłem wartość krycia na #background
Zastosowałem tło do div przed main.
źródło
Natknąłem się na ten post, ponieważ miałem ten sam problem, a potem pomyślałem, po co mieszać się z css, dostosowywać wartości i odświeżać, skoro możesz łatwo dostosować krycie w Photoshopie? Skopiuj obraz, wklej go jako nową warstwę, a następnie przesuń suwak krycia.
źródło
Miałem podobny problem i właśnie zrobiłem obraz tła w Photoshopie i utworzyłem nowy plik .png z nieprzezroczystością, której potrzebowałem. Problem rozwiązany bez obawy, że mój CSS działał na wszystkich urządzeniach i przeglądarkach
źródło