为什么 <select> / 列表中的文本 <option> 不受应用于父元素的 CSS 的影响<html>?



为什么不影响<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元素组成。

最新更新