English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Tutte le categorie

Dato che le png esistono dal 1995 perchè IE ancora non le pupporta se non con il metodo creato dalla microdoft?
Se la url dell'immagine sta nel css non posso inserire nel css il metodo javascript o sbaglio?
Posso adattarla dinamicamente con js con una sorta di if IE backgroundimage ecc ecc anche se l'impostazione dell'immagine sta nel css a parte?
ci sono altri modi per farlo?

2006-11-15 20:32:33 · 3 risposte · inviata da zedda_piras25 7 in Computer e Internet Programmazione e Design

luca: sai vero che differenza c'è tra un browser e un sistema operativo vero? e poi se faccio un sito non posso mica tagliare fuori chi usa IE anche se è una cosa brutta e sbagliata

2006-11-15 20:41:21 · update #1

3 risposte

potresti sfruttare la diversa interpretazione del parametro "!important" nel css da parte di IE rispetto agli altri browser.
mi spego, se all'interno di un qualsiasi oggetto nel css ridefinisci lo stesso attributo due volte in generale il browser sceglierà come valido solo l'ultimo in ordine di lettura dall'alto al basso.

es in questo caso

#body {
background: #000;
background-image: url('immagine_1.jpg');
background-image: url('immagine_2.jpg');
}

tutti i browser prenderanno immagine_2.jpg come sfondo

tuttavia attravero il parametro "!important" puoi rendere esplicita la scelta di un attributo quando è presente una ridefinizione

es

#body {
background: #000;
background-image: url('immagine_1.jpg') !important;
background-image: url('immagine_2.jpg');
}

in questo caso il browser sceglierà immagine_1.jpg come sfondo nonostante la ridichiarazione alla line successiva.

la cosa che può esserti utile è la mancanza di questa regola nel meccanismo di interpretazione DHTML di IE (fino alla versione 6, la 7 invece lo interpreta correttamente ma d'altra parte ha anche finalmente aggiunto un decente supporto per le trasparenze dei .png quindi non ti dovrebbe creare nessun problema)

quindi, come forse avrai già capito, puoi sfruttare questo piccolo baco a tuo vantaggio potendo definire nelle linea "!important" l'immagine .png per tutti i browser e nella linea successiva l'immagine .jpg (o .gif o altro) personalizzata per IE

es
#body {
background: #000;
background-image: url('immagine_all.png') !important;
background-image: url('immagine_ie.jpg');
}

con un notevole risparmio di codice e pesantezza (pagando però sullo stile e la pulizia)

naturalmente il parametro "!important" lo puoi applicare dovunque e in qualsiasi altro attributo spinoso dal punto di vista dell'accessibilità, ottenendo un sistema di controllo piuttosto potente per creare css cross-browser


poscritto:
le trasparenze possono essere mantenute anche in IE a patto di essere codificate in .gif (con la ovvia conseguente perdita di colori) attraverso programmi di grafica come GIMP (free)

2006-11-15 22:35:19 · answer #1 · answered by Matteo M 3 · 1 0

Il problema dei png in IE è che non vengono supportate le trasparenze, facendoti perdere un bel pò di effettini molto carini. Comunque puoi usare due css diversi, anzi sostituire le regole base a quelle specifiche per IE, quindi magari cambiare immagine o quello che devi fare, ti faccio un esempio, nel codice html importi il file css così:




in questo modo in style.css scrivi tutte le regole generali, mentre in quello specifico per IE riscrivi solo quello che devi modificare.

Mi raccomando l'ordine, è importante che quello specifico per IE venga caricato dopo, in modo che IE possa sovrascrivere le regole in questione.

Così dovresti risolvere. Ciao

ps: speriamo che firefox si diffonda sempre più!!!!! :-)

ps2: le trasparenze vengono mantenute usando le gif, ma non puoi fare trasparenze su un livello alfa con un valore che non sia 100%, cosa che invece il png supporta.

2006-11-15 22:15:28 · answer #2 · answered by Dott. F 5 · 1 0

Cambia sistema operativo.. neanche png supporta..figurati

2006-11-15 20:34:44 · answer #3 · answered by Antonio 2 · 0 3

fedest.com, questions and answers