Mam panel, który pokolorowałem na niebiesko, jeśli ten panel jest zaznaczony (kliknąłem na nim). Dodatkowo dodaję mały znak ( .png
obrazek) do tego panelu, który wskazuje, że wybrany panel był już wcześniej wybrany.
Jeśli więc użytkownik widzi np. 10 paneli, a 4 z nich mają ten mały znak, to wie, że już wcześniej klikał na te panele. Jak dotąd działa dobrze. Problem w tym, że nie mogę jednocześnie wyświetlić małego znaku i uczynić panel niebieskim.
Ustawiłem panel na niebieski za pomocą CSS, background: #6DB3F2;
a obraz tła za pomocą background-image: url('images/checked.png')
. Ale wydaje się, że kolor tła jest powyżej obrazu, więc nie możesz zobaczyć znaku.
Czy w związku z tym można ustawić wartości z-index
dla koloru tła i obrazu tła?
U mnie to rozwiązanie nie wyszło:
Ale zamiast tego zadziałało w drugą stronę:
css:
źródło
źródło
Bazując na MDN Web Docs , możesz ustawić wiele tła za pomocą
background
właściwości skróconej lub pojedynczych właściwości z wyjątkiembackground-color
. W twoim przypadku możesz zrobić sztuczkę, używając wlinear-gradient
ten sposób:Pierwsza pozycja (obraz) parametru zostanie umieszczona na górze. Drugi element (kolorowe tło) zostanie umieszczony pod pierwszym. Możesz również ustawić inne właściwości indywidualnie. Na przykład, aby ustawić rozmiar i położenie obrazu.
Zaletą tej metody jest to, że możesz ją łatwo zaimplementować w innych przypadkach, na przykład chcesz, aby niebieski kolor nakładał się na obraz z pewnym kryciem.
Poszczególne parametry właściwości są ustawiane odpowiednio. Ponieważ obraz jest umieszczony pod nakładką koloru, jego parametry właściwości są również umieszczane po parametrach nakładki koloru.
źródło
naprawdę ciekawy problem, jeszcze go nie widziałem. ten kod działa dobrze dla mnie. przetestowałem to w Chrome i IE9
źródło
Możesz także użyć krótkiej sztuczki, aby użyć obrazu i koloru w ten sposób: -
źródło
To faktycznie działa dla mnie:
Możesz także upuścić jednolity cień i ustawić obraz tła:
Jeśli pierwsza opcja z jakiegoś powodu nie działa i nie chcesz używać cienia pola, zawsze możesz użyć pseudoelementu dla obrazu bez dodatkowego kodu HTML:
źródło
Oto jak stylizowałem moje kolorowe przyciski z ikoną w tle
Użyłem właściwości „background-color” dla koloru i właściwości „background” dla obrazu.
źródło
<li style="background-color: #ffffff;"><a href="https://stackoverflow.com/<%=logo_marka_url%>"><img border="0" style="border-radius:5px;background: url(images/picture.jpg') 50% 50% no-repeat;width:150px;height:80px;" src="images/clearpixel.gif"/></a></li>
Inny przykładowy obraz i kolor tła
1.Pierwszy obszar poprawiania obrazu clearpixel 2. styl środkowy obszar obrazu, pole 3.li styl koloru tła lub div
źródło
źródło