Получить текущий стиль, используя MSHTML в C # - PullRequest
5 голосов
/ 26 августа 2010

Я хочу использовать MSHTML, чтобы получить стиль HTML-элемента.

Мне нужен вычисляемый стиль, но без всех значений по умолчанию.(только те, которые установлены в html и css)

MSHTML имеет 3 типа стилей, которые я видел до сих пор: style, currentStyle и runtimeStyle.

style и runtimeStyle имеют толькоу встроенных стилей и текущего стиля есть все, включая унаследованные и стили по умолчанию.

Есть ли способ получить текущий установленный стиль (встроенный, внешний и внутренний CSS), но без всех унаследованных значений и значений по умолчанию?

Должен быть способ сделать это, кажется, что панель инструментов разработчика IE знает, какие стили унаследованы, откуда.

1 Ответ

0 голосов
/ 26 марта 2012

Когда вы говорите, что хотите исключить «стандартные» и / или унаследованные свойства , а не встроенные, внешние и внутренние css , что не совсем корректно, поскольку свойства по умолчанию задаются через пользовательский агент css.

Я полагаю, что один из способов отфильтровать свойства "по умолчанию" из явно примененных свойств - это сравнить во время выполнения элемент, отображаемый на странице в стиле css / inline, с тем же элементом, отображаемым в той же структуре DOM без внешнего CSS и со встроенными стилями раздели; может быть, внутри скрытого iframe и т. д. Имеет ли это смысл?

В зависимости от вашего уровня комфорта, вам может повезти, глядя на Firebug Lite источников.

...