在C#中使用MSHTML获取当前样式

时间:2010-08-26 10:24:29

标签: c# .net css mshtml

我想使用MSHTML来获取html元素的样式。

我想要的是计算出的样式,但没有所有默认值。 (只有在html和css中设置的那些)

MSHTML到目前为止我见过3种类型的样式style,currentStyle和runtimeStyle。

style和runtimeStyle只有内联样式,而当前样式包含所有内容,包括继承样式和默认样式。

有没有办法获取当前设置的样式(内联,外部和内部css)但没有所有继承和默认值?

必须有一种方法可以做到这一点,IE开发人员工具栏似乎知道从哪里继承了哪些样式。

1 个答案:

答案 0 :(得分:0)

当您说要排除“默认”和/或继承属性而不是内联,外部和内部css 时,由于默认属性是通过用户代理css设置的,因此不是完全正确的措辞

我认为从显式应用的方法过滤“默认”属性的一种方法是在运行时比较在具有css /内联样式的页面上呈现的元素与在没有外部的相同DOM结构中呈现的相同元素CSS和内联样式被剥离;也许在一个隐藏的iframe中等等。这有意义吗?

根据您的舒适程度,您可以查看Firebug Lite来源的运气。