【发布时间】:2015-02-08 20:47:55
【问题描述】:
我有一个按钮,单击该按钮会加载一个附加的 CSS 文件,该文件会覆盖大部分基本 CSS 文件。 (如果您想知道,这是出于可访问性目的)
假设我有一个background 和background-color 属性用于input[type='text'] 的多个选择器。我想重置/删除那些。我不想为这些背景属性设置新值,我想删除它们,以便浏览器默认呈现所有内容。
这是因为在高对比度模式下,Firefox 的正文为黑色背景色,任何设置为 input 或 button 的背景都将覆盖它,其值等于文本颜色,这将使该值输入或按钮不可读。但那是另一回事了……
编辑:由于到目前为止每个人都在告诉我为它们设置一些新属性,所以我用粗体大写字母来写 - 我不需要为 background 设置新属性。 :) 如果该属性存在,那么如果在高对比度模式下设置的背景也是黑色的,Firefox 默认将其设置为黑色。要对此进行测试,请转至 Preferences -> Content -> Colors 并检查 Allow pages to choose their own colors, instead of my selections above。 Here's how my options look.
【问题讨论】:
-
大多数属性都可以使用
initial关键字;它将值重置为浏览器默认值。 -
已经试过了,不行。正如我所说,我不想为现有属性设置新值,我想完全删除它们。
-
你不能用新的样式表重新加载页面,而不是动态加载它吗?如果您出于可访问性原因这样做,我个人认为这是合理的。
-
与其添加或删除属性,更好的方法是将这些额外的属性放在一个 CSS 类中,然后添加或删除这个额外的类。如果您需要覆盖,请使用 !important。现在只是添加/删除类。
-
我确信这是不可能的。如果website,您可以做的最好的就是加载具有其他样式、其他主题的同一页面。
标签: javascript jquery html css