2013-08-07 16 views
6

ktoś, jak połączyć użycie tekstury jako tła i koloru tła nad tą teksturą?CSS: łączenie tekstury i koloru

Tutaj tekstura:

Texture alone

Chcę moja strona ciało tło być tak:

enter image description here

jestem zmaga się z backroung wizerunku i kolor tła: http://jsfiddle.net/87K72/

body{ 
    background: #6DB3F2 url('http://s13.postimg.org/j0qiscsw3/cream.png'); 
} 
+0

Zastosuj obraz tła do znacznika 'html', zastosuj kolor tła do znacznika' body' i upewnij się, że zajmuje całą stronę. –

Odpowiedz

7

można użyć div nakładki z kanałem alfa na górę ciała, ale pod innymi elementami.

jsFiddle example

<h1>I want blue color above my texture</h1> 
<div id="cover"></div> 
body { 
    background: url('http://i.stack.imgur.com/oslRB.png'); 
} 
h1{ 
    position:relative; 
    z-index:2; 
} 
#cover { 
    position:absolute; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
    background-color:rgba(109,179,242,0.5); 
    z-index:1; 
} 
+0

Wow, nie wiedział o odgórnym/lewym/dolnym/prawym = 0 lewę, aby uzyskać rozciągnięty div na całym ekranie. Miły! –

+1

Dzięki pseudo elementom #cover można z łatwością uniknąć. –

+0

@Rollyng: To rozwiązanie nie działa ze stronami, które umożliwiają przewijanie w dół: http://jsfiddle.net/87K72/4/ –

1

Wygląda na to, że Twój texture here nie ma kanału alfa. To nie jest półprzezroczyste, jest naprawdę białe.

+0

Byłeś pierwszy i miałeś rację !! Biorę to tutaj dla twojej wiedzy http://subtlepatterns.com/ – Rollyng

+0

Sprawdź rozwiązanie @ j08691 jest fajna sztuczka (must-know) Która działa pomimo wartości przezroczystości – Rollyng

+1

Tak, to fajna sztuczka, ale w zasadzie jest to taki sam pomysł posiadania półprzezroczystej warstwy na drugiej. Tym razem warstwa kolorów jest na wierzchu. Problem z tym podejściem polega na tym, że musisz poprawić kolor i wartość alfa, aby wszystko było w porządku, ponieważ uczynienie go półprzezroczystym sprawi, że będzie trochę blednąć.Jeśli pracujesz z projektantem lub musisz przestrzegać ustalonego schematu kolorów, lepiej jest pracować z kodami kolorów, które są dostarczane. –

1

Do tego celu należy użyć półprzezroczystej tekstury tła; wówczas dyrektywa CSS rade:

HTML:

<h1>I want blue color above my texture</h1> 

CSS:

body { 
    background: #6DB3F2 url('http://wizzley.com/static/img/bg/texture8.png'); 
} 

Przykład: http://jsfiddle.net/87K72/3/

+0

Sprawdź rozwiązanie @ j08691 jest fajna sztuczka (must-know) Która działa pomimo wartości przezroczystości – Rollyng

1

Można skorzystać z css kryciem, aby to zrobić.

Utwórz dwa DIV - jeden na kolor, a jeden na fakturze:

HTML:

<div class="texture-color"> 
    <div class="texture"> 
     <h1> I want blue color above my texture</h1> 
    </div> 
</div> 

CSS:

.texture,.texture-color { 
    position: absolute; 
    left: 0; 
    top: 0; 
    bottom: 0; 
    right: 0; } 

.texture { 
    background: #6DB3F2 url('http://s13.postimg.org/j0qiscsw3/cream.png'); 
    opacity: 0.8; } 

.texture-color { 
    background-color: cyan; } 

jsFiddle

1

http://jsfiddle.net/uyrPA/3/

body { 
    width:auto; 
    height:auto; 
    background: green; 
} 


body:after{ 
    content : ""; 
    display: block; 
    position: absolute; 
    top: 0; 
    left: 0; 
    background: url(http://i.stack.imgur.com/oslRB.png) repeat; 
    width: 100%; 
    height: 100%; 
    opacity : 0.5; 
} 

h1{ 
    position:relative; 
    z-index:2; 
} 
+0

It powinno być "position: fixed", aby działało to ze stronami, które należy przewinąć w dół. Dodatkowo trochę uciążliwe jest ustawienie poprawnego indeksu Z dla wszystkich elementów, które powinny pojawić się nad warstwą kolorów. –

Powiązane problemy