Por que tão complicado? Sua solução estava quase certa, exceto que é muito mais fácil tornar o padrão transparente e a cor de fundo sólida . PNG pode conter transparências. Portanto, use o photoshop para tornar o padrão transparente, definindo a camada para 70% e salvando sua imagem novamente. Então você só precisa de um seletor. Funciona em vários navegadores.
CSS:
.background {
background: url('../img/bg/diagonalnoise.png');/* transparent png image*/
background-color: rgb(248, 247, 216);
}
HTML:
<div class="background">
...
</div>
Este é o básico. Um exemplo de uso segue de onde eu mudei background
para, background-image
mas ambas as propriedades funcionam da mesma maneira.
body { margin: 0; }
div {
height: 110px !important;
padding: 1em;
text-transform: uppercase;
font-family: Arial, Helvetica, sans-serif;
font-weight: 600;
color: white;
text-shadow: 0 0 2px #333;
}
.background {
background-image: url('https://www.transparenttextures.com/patterns/arabesque.png');/* transparent png image */
}
.col-one {
background-color: rgb(255, 255, 0);
}
.col-two {
background-color: rgb(0, 255, 255);
}
.col-three {
background-color: rgb(0, 255, 0);
}
<div class="background col-one">
1. Background
</div>
<div class="background col-two">
2. Background
</div>
<div class="background col-three">
3. Background
</div>
POR FAVOR, ESPERE UM MINUTO! Leva algum tempo para carregar os padrões externos.
Este site parece ser bastante lento ...