【问题标题】:HTML <select> has locked CSS applied, and I want it to display as browser defaultsHTML <select> 已锁定 CSS 应用,我希望它显示为浏览器默认值
【发布时间】:2013-08-09 21:24:07
【问题描述】:

我无法编辑具有以下值的 CSS 文件:

font-size: 13px;
padding: 6px 4px;
background-color: rgb(238, 238, 238);
border: 1px solid rgb(204, 204, 204);
clear: both;
margin-bottom: 4px;

我知道我可以使用 !important 标记,但是当我尝试使用默认值覆盖时,它仍然不会显示与无 CSS(干净)&lt;select&gt; 下拉列表相同的内容。

谢谢

【问题讨论】:

  • 可以使用 javascript 或其他框架吗?
  • 看看this fiddle。我从&lt;select&gt; 开始,并使用 Chrome 的“检查元素”来获取所有样式信息,包括计算的样式。它似乎工作。我敢肯定它可以大大减少。
  • 你到底尝试了什么?

标签: html css select overriding default


【解决方案1】:

一旦有 any CSS 规则生效,为元素的属性分配值,您就不能将元素的属性设置为浏览器默认值。例如,如果任何样式表在 select 元素上设置了 font-size: 13px,则无法告诉浏览器表现得好像该设置不存在并使用其默认设置。

您可以做的是将属性设置为显式值,例如select { font-size: 18px },这将通过正常的级联规则覆盖其他设置。如果这对您不起作用,那么您使用的具体方式存在问题。

您可以尝试将属性设置为您认为是浏览器默认值的显式值,但不能保证所有当前和未来的浏览器都将这些值作为默认值。

在 CSS Cascading and Inheritance Level 3 的早期草案中,有一个提议的 default 关键字将“回滚级联”。但它已在草案的current version 中被删除,该草案提出了unset 关键字,但其定义并不意味着使用浏览器默认值(而是根据CSS 规范的初始值)。

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 1970-01-01
    • 2018-09-16
    相关资源
    最近更新 更多