我正在尝试剥离我无法控制的HTML输出。其中一个元素是具有div
属性的style="overflow: auto"
CSS中是否有办法强制div
使用overflow: hidden;
?
答案 0 :(得分:69)
您可以在样式的末尾添加!important
,如下所示:
element {
overflow: hidden !important;
}
这是你不应该正常依赖的东西,但在你的情况下,这是最好的选择。将Javascript中的值更改为分离标记,表示和行为(html / css / javascript)的最佳实践。
答案 1 :(得分:10)
您是否尝试在CSS文件中设置!important
?类似的东西:
#mydiv { overflow: hidden !important; }
答案 2 :(得分:4)
不确定这是否有效,尚未使用overflow
进行测试。
overflow:hidden !important
可能?
答案 3 :(得分:2)
如果div具有内联样式声明,则在不更改源的情况下修改它的唯一方法是使用JavaScript。每次在CSS中内联样式属性“赢”。
答案 4 :(得分:2)
Magnar是正确的,正如下面粘贴的W3C规范所解释的那样。似乎添加了!important关键字,以允许用户覆盖元素级别的“烘焙”样式设置。由于您处于无法控制html的情况下,这可能是您的最佳选择,尽管这不是正常的设计模式。
摘录:
6.4.2重要规则 CSS试图在作者和用户风格之间创造力量平衡 床单。默认情况下,规则在 作者的样式表覆盖了那些 用户的样式表(请参阅级联规则 3)。However, for balance, an "!important" declaration (the keywords
“!”并且“重要”跟随 声明)优先于a 正常的声明。作者和作者 用户样式表可能包含 “!important”声明和用户 “!important”规则覆盖了作者 “!重要”规则。这个CSS功能 通过改进文档的可访问性 为用户提供特殊要求 (大字体,颜色组合, 等)控制演示。
Note. This is a semantic change since CSS1. In CSS1, author
“!important”规则优先 超过用户“!important”规则。
Declaring a shorthand property (e.g., 'background') to be
“!important”相当于 声明它的所有子属性 是“!important”。
Example(s): The first rule in the user's style sheet in the following example
包含“!important”声明, 哪个会覆盖相应的 作者的风格声明 片。第二个声明将 因为被标记也赢了 “!重要”。但是,第三条规则 在用户的样式表中没有 “!important”因此会失败 到作者的第二条规则 样式表(碰巧设置 在速记属性上的风格)。也, 第三作者规则将输给 第二作者规则自第二 规则是“!important”。这表明了这一点 “!important”声明有一个 功能也在作者风格内 床单。
/* From the user's style sheet */ P { text-indent: 1em ! important } P { font-style: italic ! important } P { font-size: 18pt } /* From the author's style sheet */ P { text-indent: 1.5em !important } P { font: 12pt sans-serif !important } P { font-size: 24pt }
答案 5 :(得分:0)
据我所知,实际HTML元素的样式会覆盖您在单独的CSS样式中可以执行的任何操作。
但是,您可以使用Javascript覆盖它。