2012-07-24 18 views
5

Arka planın bir degrade olmasını sağlamak için IE filtresini kullanıyorum, ancak yalnızca IE8'de bir sorun var. Bu satırlar doğru arka plan degrade yapmak ancak artık kaydırma sayfa:IE8 Gövde üzerindeki degrade degrade sayfa kaydırma

background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzdkYjllOCIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTU3OTkiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+) no-repeat fixed; 
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#007db9e8', endColorstr='#1e5799',GradientType=0) no-repeat fixed; /* IE6-8 */ 

Ben de% 100'e yüksekliğini ayarlarken çalıştılar. Sorun nedir?

http://asthmaready.org/training-programs/

+0

IE'nin korkunç 'filter' özelliğini kullanırken bu tür bir yaşamdır. Bu hatayı daha önce hiç duymamıştım, ama dikkat etmesi gereken başka birçok kişi var. Oh, ve neden diğer tarayıcılarda gradyan için bir base64 resmi kullanıyorsunuz? Neden CSS 'doğrusal gradyanını kullanmıyoruz? – Spudley

+0

Ayrıca doğrusal gradyan kullanıyorum, ancak IE8 tarafından desteklenmiyor, tam olarak benim sorunumu buldum: http://stackoverflow.com/q/8636924/744228 – Ray

cevap

1

deneyin div#page

UPDATE filtre-gradyan takmak için:

nasılsa
body.cbgc { 
    background: -moz-linear-gradient(top, rgba(125,185,232,0) 0%, rgba(30,87,153,1) 100%) no-repeat fixed; 
    .... 
} 

blok müteakip #page tarzı beyanı nedenle bununla bir filtre uyguladığınızda, öyle görmezden geldi. Bunun işe yarayıp yaramadığını görmek için #page numaralı filtreyi kaldırmayı deneyin.

Başka bir nokta, #page'daki degradenin ekran kenarında bitmeyeceğidir (diğer tarayıcılarda olduğu gibi), bunun yerine kaydırılan alana ilerleyecektir. Bu sizin için uygunsa, #page ile bir div, bir kardeş ekleyebilir ve filtrelemek ve sabit konumlandırmak için uygulayabilirsiniz. Yani her şey IE tarayıcıları ile aynı görünecektir.

+0

Bunu da denedim. – Ray

+0

garip, IE8 dev-araç çubuğunda bunu denedim ve tüm iyi çalıştı. Yine de, konumu kaldırdım: filtre eklemek için göreli, bu neden olabilir – user907860

+0

Ya beyaz (sadece filtre) veya mavi (filtre + bg) – Ray

0

Sadece aynı problem vardı! Caligula'nın yanıtladığı gibi, filtreyi gövdeye uygulamayın, -moz, -webkit, ... ancak iyi çalışır. filter:progid'u vücudunuzun içindeki ilk div'a uygulayın (gerekirse div.container {height:100% width:100%} ekleyin)