为什么不影响<select>
/<option>
列表中的文本(" item1"," item2"的颜色未更改为parts <html>
元素的CSS?所有<p>
元素都受到影响!
另外,这有效:<select multiple style="color:red;">
:root {
color: red;
}
<p> this text is affected
<!-- but item1, item2, etc within this list are not affected! -->
<select multiple>
<optgroup label=animals>
<option value="it1"> item1 </option>
<option vslue="it3"> item2 </option>
<option> item3 </option>
</optgroup>
<optgroup label=tiran>
<option> item4 </option>
<option selected> item5 </option>
<option> </option>
<optgroup>
</select>
什么时候发生同样的事情,我对这个问题有什么规则?
我认为CSS是由子元素继承的。
此答案意味着color:
CSS属性应继承。
P.S。看来<select>
被认为是表单元素,并且表单元素不继承任何属性(例如,从诸如 <body>
或 <html>
之类的父母来看) - 根据此答案,相同还适用于<input>
,<button>
和<textarea>
css元素仅在具有告诉它们的规则时继承属性的值。例如
color: inherit;
…或默认属性继承并且没有其他规则覆盖它时。
任何给定元素的默认规则由浏览器的内置样式表设置。
这些是由网站作者和用户的样式表添加到的。
您通常不能。这些元素是OS依赖性的,不是HTML/浏览器的一部分。它不能通过CSS进行样式。您可以在Internet上找到一些库,但是它由可以定型的HTML元素组成。