Come posso impostare la modalità mix-mix su un elemento, ma non i suoi bambini? Impostazione dei bambini al valore predefinito di normal
non sembra funzionare:Rimuovi mix-blend-mode dall'elemento figlio
http://jsfiddle.net/uoq916Ln/1/
Come posso impostare la modalità mix-mix su un elemento, ma non i suoi bambini? Impostazione dei bambini al valore predefinito di normal
non sembra funzionare:Rimuovi mix-blend-mode dall'elemento figlio
http://jsfiddle.net/uoq916Ln/1/
qualcuno ha commentato che il l'intero blocco è reso con l'effetto e che è il motivo per cui hai il problema. Sono in grado di realizzare quello che stai cercando di fare rimuovendo l'h1 dal blocco, la posizione assoluta e uno z-index di 1. Ecco un jsfiddle per mostrare l'effetto.
html
<div class="bkdg">
<h1>Header</h1>
<div class="blend">
</div>
</div>
css
.blend {
background-color: green;
mix-blend-mode: multiply;
width: 700px;
height: 35px;
}
h1 {
color: white;
position: absolute;
top: -15px; left: 10px;
z-index: 1;
}
Questa è una soluzione, e buona, ma è una soluzione? – meetalexjohnson
Beh, questa è una domanda difficile. Mentre realizza ciò che vuoi, potresti non considerare questa una soluzione e posso capirlo. Tuttavia, nella mia esperienza ho trovato a volte per realizzare lo stile css che vuoi a volte devi fare le cose in un giro su modo. – Jpsh
La soluzione come evitare mix-blend-mode
effetti figli:
mix-blend-mode
ad esso;inner
all'interno del bambino per il contenuto. Rendi la sua posizione assoluta e mettila sopra altri elementi;html
<div class="bkdg">
<div class="blend">
<div class="inner">
<h1>Header</h1>
</div>
</div>
</div>
css
.blend {
position: relative; // Make position relative
width: 100%;
height: 100%;
}
.blend::before { // Apply blend mode to this pseudo element
content: '';
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
background-color: green;
mix-blend-mode: multiply;
}
.inner { // This is our content, must have absolute position
position: absolute;
z-index: 2;
}
h1 {
color: white;
}
So che questo è stato chiesto più di due anni fa, ma potrebbe essere utile in futuro potrebbe essere una soluzione migliore di Cre a pseudo-elementi.
C'è la isolation
proprietà CSS che permette di scegliere l'elemento che scendessimo bambino dovrebbe essere reso in un contesto di suo genitore (auto
) o come parte di un nuovo contesto, quindi senza alcun metodo di fusione applicato ad esso (isolate
).
Partenza this page per gli esempi
E 'lo stesso problema con l'opacità. Non è in realtà che la proprietà è ereditata, è che tutto il blocco è reso con questo effetto – vals