Mam DIV i chciałbym umieścić wzór jako tło. Ten wzór jest szary. Aby było trochę przyjemniej, chciałbym nałożyć na siebie „warstwę” jasnego, przezroczystego koloru. Poniżej jest to, co próbowałem, ale które nie działało. Czy istnieje sposób na nałożenie kolorowej warstwy na obraz tła?
Oto mój CSS:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
Wiem, że to naprawdę stary wątek, ale pojawia się na górze w Google, więc oto inna opcja.
Ten jest czystym CSS i nie wymaga dodatkowego HTML.
Istnieje zaskakująca liczba zastosowań funkcji box-shadow.
źródło
box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, .2)
.Z CSS-Tricks ... istnieje jeden krok, aby to zrobić bez indeksowania Z i dodawania pseudoelementów - wymaga gradientu liniowego, co moim zdaniem oznacza, że potrzebujesz wsparcia CSS3
źródło
background-size:cover;
ibackground-position:center center;
ustawiłem ten element. To wydaje się anulować ten efekt.Możesz także użyć gradientu liniowego i obrazu: http://codepen.io/anon/pen/RPweox
Jest tak, ponieważ funkcja gradientu liniowego tworzy obraz, który jest dodawany do stosu tła. https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
źródło
Potrzebny jest zatem element zawijający z obrazem bg, a w nim element treści z kolorem bg:
i css:
źródło
Spróbuj tego. Pracuje dla mnie.
źródło
Użyłem tego jako sposobu zarówno na stosowanie odcieni kolorów, jak i gradientów na obrazach, aby ułatwić stylizowanie tekstu nakładki dynamicznej, aby był czytelny, gdy nie można kontrolować profili kolorów obrazu. Nie musisz się martwić indeksem Z.
HTML
SASS
CSS
Mam nadzieję, że to pomoże
źródło
div
ma przynajmniej pozycję: krewnyZobacz moją odpowiedź na https://stackoverflow.com/a/18471979/193494, aby uzyskać kompleksowy przegląd możliwych rozwiązań:
źródło
Dlaczego tak skomplikowane? Twoje rozwiązanie było prawie właściwe, z wyjątkiem tego, że znacznie łatwiej jest uczynić wzór przezroczystym, a kolor tła jednolitym . PNG może zawierać folie. Więc użyj Photoshopa, aby wzór był przezroczysty, ustawiając warstwę na 70% i ponownie zapisując obraz. Potrzebujesz tylko jednego selektora. Działa w różnych przeglądarkach.
CSS:
HTML:
To są podstawowe. Oto przykład użycia, w którym przełączyłem się
background
na,background-image
ale obie właściwości działają tak samo.PROSZĘ ZACZEKAJ MINUTĘ! ZAŁOŻENIE CZASU zajmuje ZAŁADUNEK ZEWNĘTRZNYCH MODELI.
Ta strona wydaje się być raczej powolna ...
źródło
:hover
, który nakłada się na obraz tła?Możesz użyć półprzezroczystego piksela, który możesz wygenerować na przykład tutaj , nawet w base64. Oto przykład z białym 50%:
bez przesyłania
bez dodatkowego HTML
Myślę, że ładowanie powinno być szybsze niż cień w polu lub gradient liniowy
źródło
Oto prostsza sztuczka z tylko css.
źródło
Kolejny z SVG jako wbudowanym obrazem nakładki (uwaga: jeśli używasz
#
wewnątrz kodu svg, musisz go urlencode!):źródło
Po prostu użyłem właściwości css obrazu tła na docelowym div tle.
Uwaga: obraz tła akceptuje tylko funkcje kolorów gradientu.
Użyłem więc gradientu liniowego, dodając dwukrotnie ten sam pożądany kolor nakładki (użyj ostatniej wartości rgba, aby kontrolować krycie kolorów).
Znalazłem również dwa przydatne zasoby do:
HTML
CSS
źródło
Możesz także dodać krycie do koloru nakładki.
Zamiast robić
Możesz to zrobić:
Następnie utwórz nowy styl dla koloru krycia:
Zmień krycie na dowolną liczbę poniżej 1. Następnie ustaw ten styl koloru na taki sam rozmiar jak obraz. To powinno działać.
źródło