2010-11-22 23 views
3

Mutlak konumlandırılmış bir div olarak, farklı web sitelerine bir pop-up enjekte eden bir widget'ım var.Harici css dosyası olmayan bir div içindeki tüm elemanların tüm css'lerini nasıl sıfırlayabilirim?

Açılır pencerenin hepsinin aynı görünmesini istiyorum. ancak, div içindeki paragraflar ve diğer html öğeleri barındırma sitesi CSS tarafından etkilenir.

Tüm seçenekler ve öğe türlerini dikkate almak zorunda kalacak bir css dosyası olmadan etkin bir şekilde div öğelerinin tüm özelliklerini sıfırlamanın bir yolu var mı?

Not: Temiz bir javascript/css/html özümüne ihtiyacım var, Cant jivery kullanılabilir olduğunu varsayalım.

cevap

2

Yapabileceğiniz en iyi şey, pencere öğesi içeriği için bir iframe kullanmaktır. Yalnızca CSS kullanarak tüm miras alınan CSS stillerini sıfırlamanın bir yolu yoktur.

1

Kısa anwer: Bilgime, hayır.

Uzun cevap: Geçerli belgenin tarzı senin kesinlikle <div> konumlandırılmış iç elemanlarına uygulamak istediğiniz olmadığından, belki en iyi yerine <div> bir <iframe> elemanını kullanmak olacaktır.

Bu şekilde, açılan öğeler kendi belgelerinde yalıtılır ve geçerli belgenin stilinden bağımsız olur. belgenizdeki belgeye ihtiyacınız varsa, farklı bir doctype bile olabilir.

+0

+1, benzer bir soruyu bir süre önce sordu - http://stackoverflow.com/questions/2866992/using-jquery-to-disable-css-inheritance, bir jQuery çözümü gerektirse de (bu soruna izin verir) yakın çekimlerimden azımayın. –

1

JS ile bazı stil niteliklerini keyfi olarak ayarlayabilirsiniz ancak uzun bir liste olacak, güzel veya verimli olmayacak ve CSS tam tersi elde etmek için tasarlandı. Ayrıca, bazı ID'ye özgü CSS seçicilere sahip bir satır içi stil bloğu ekleyebilir ve !important etiketlerini tahmin edebilirim, ancak yine de güzel değil - kimliğin sabit/imkansız olduğunu garanti eden bir şey için.

Temel olarak bu sizin sayfanız değilse, sizin kontrolünüz (haklı olarak) yanıltıcıdır.

İlgili konular