2010-08-26 17 views
5

alın Bir html öğesinin stilini almak için MSHTML kullanmak istiyorum.Geçerli stili, MSHTML kullanarak C#

İstediğim, hesaplanan stil ancak varsayılan değerler olmadan. (yalnızca html ve css'de ayarlananlar)

MSHTML, stile, currentStyle ve runtimeStyle'a kadar gördüğüm 3 tür stile sahiptir.

style ve runtimeStyle yalnızca satır içi stilleri ve geçerli Stili miras ve varsayılan stilleri içeren her şeye sahiptir.

Geçerli olarak belirlenmiş stil (satır içi, dış ve iç css) elde etmek için bir yol var mı, ancak tüm miras alınan ve varsayılan değerler olmadan?

Bunu yapmanın bir yolu olmalı, IE geliştirici araç çubuğu, hangi stillerin nereden miras alındığını biliyor gibi görünüyor.

+0

"Kalıtsal" özellikler gibi bir şey yok mu? – MCSI

+0

Süreç yapmak zorunda olduğunuz gibi, stil sayfalarınızın her birini sırayla geçirmeniz ve mantığın çalışması için bunu önceden yapmanız gerekir. IE sanırım bu gibi bir şey inşa olurdu. Acı gibi geliyor .. daha fazla yardım edebilseydim. Başka neler söyleyeceğini görmek ilginizi çekecek. – Mayhem50

cevap

0

Eğer "varsayılan" ve/veya kalıtsal özelliklerini satır içi aksine , varsayılan özellikleri kullanıcı aracısı css aracılığıyla ayarlanır beri tamamen doğru cümleleme değildir harici ve dahili css hariç tutmak istediğiniz dediğimde.

Açıkça uygulanmış olanlardan "varsayılan" özellikleri filtrelemenin bir yolunun, çalışma zamanında, css/inline stili olan bir sayfaya işlenen bir öğeyle karşılaştırılmasının aynı DOM yapısında işlenmemiş aynı öğeye kıyasla karşılaştırılacağını düşünürdüm harici CSS ve satır içi stilleri soyulmuş; belki de gizli bir iframe içinde vb. Bu mantıklı mı?

Konfor düzeyinize bağlı olarak, Firebug Lite kaynaklarına bakarak biraz şansınız olabilir.

İlgili konular