I have the following code:
.reviewed {
background-color: rgba(228, 225, 219, 1);
}
.deleted {
background-color: red;
}
<table>
<tr>
<td>№</td>
<td>Name</td>
</tr>
<tr class="reviewed">
<td>1</td>
<td>Ivan</td>
</tr>
<tr>
<td>2</td>
<td>Andrey</td>
</tr>
</table>
How can I make it so that when both the classes .deleted and .reviewed are set on an element the background-color of .deleted takes into account the background-color of .reviewed?
When using the two classes the color should be darker than if it was just using the class .deleted.
In this instance background-blend-mode: mulitply; can give you the desired effect of darkening the background-color of .deleted.
The following changes are required:
background-color:rgba(228, 225, 219, 1); to background-image: linear-gradient(0deg, rgba(228, 225, 219, 1), rgba(228, 225, 219, 1)); in .reviewed. This will give .reviewed the same background colour but will enable background-blend-mode to work with the background-color set on .deleted
background-blend-mode: multiply; to .deleted to enable the background colour to blend with the "background image" set on .reviewed
.reviewed {
background-image: linear-gradient(0deg, rgba(228, 225, 219, 1), rgba(228, 225, 219, 1));
}
.deleted {
background-blend-mode: multiply;
background-color: red;
}
<table>
<tr>
<td>Number</td>
<td>Name</td>
</tr>
<tr class="reviewed">
<td>1</td>
<td>Reviewed</td>
</tr>
<tr class="reviewed deleted">
<td>2</td>
<td>Reviewed and deleted</td>
</tr>
<tr class="deleted">
<td>3</td>
<td>Deleted</td>
</tr>
</table>
The advantage to this is that you don't have to specify a third colour as the calculation is done by CSS. The disadvantage is the there is currently no support for this in IE or Edge.
background-blend-mode is supported by Firefox, Chrome and partially supported by Safari. http://caniuse.com/#feat=css-backgroundblendmode
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With