有没有办法强制样式到已经具有style =“”属性的div元素

时间:2008-09-19 18:50:48

标签: html css

我正在尝试剥离我无法控制的HTML输出。其中一个元素是具有div属性的style="overflow: auto" CSS中是否有办法强制div使用overflow: hidden;

6 个答案:

答案 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的情况下,这可能是您的最佳选择,尽管这不是正常的设计模式。

W3C CSS Specs

摘录:

  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覆盖它。