Is there a way to have the CSS transparency style apply only to the label's innerText and not to any child elements?
P粉794851975
2023-08-17 20:51:57
<p>In the example below, I have a lot of tags where the tags contain inputs. </p>
<p><strong>Is there a way to make the CSS opacity style apply to the label's innerText rather than any child elements without explicitly specifying the color? In the example below, opacity has been applied to the dropdown menu, not just the label itself. </strong></p>
<p>I know I could change the label element to just surround the text and then add a <code>for=</code>, but I prefer to wrap the label around the element being tagged. </p>
<pre class="brush:css;toolbar:false;">div{ padding: 10px;}
select {
background-color: white;
}
.colored{
color: white;
background-color: lightblue;
}
label {
opacity: .7;
}</pre>
<pre class="brush:html;toolbar:false;">
<div class="colored">
<label>
My white label
<select><option>example that should be black-on-white</option></select>
</label>
</div>
<div>
<label>
My black label
<select><option>example that should be black-on-white</option></select>
</label>
</div>
<div>
<label for="select3">Good example</label>
<select id="select3"><option>example that is indeed black-on-white</option></select></div></pre>
<p><br /></p>
Unfortunately,
opacity
applies to the container and everything in it. But in your case you can usergba
color
instead: