Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350

    Problema div annidati con vecchie versioni di IE (layout a 3 colonne fisso)

    Problema div annidati con vecchie versioni di IE (layout a 3 colonne fisso)

    Ho un xhtml di questo tipo:

    <div id="div1">
    <div id="t_1">titolo1</div>
    <div id="t_2">titolo2</div>
    <div id="t_3">titolo3</div>
    </div>
    <div id="div2">
    <div id="c_1">Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto </div>
    <div id="c_2">
    <div id="c_2_2">titolo4</div>
    <div id="c_2_3">sottotitolo</div>
    <div id="c_2_4">Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto </div>
    </div>
    <div id="c_3">Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto Contenuto </div>
    </div>

    Il div1 (960px) deve contenere 3 div di dimensioni prefissate la cui somma tra margin, padding, border e width dei vari div (t_1, t_2, t_3) vale esattamente 960px. Con lo stesso principio ho proceduto fin in fondo. Su IE8 non ho problema da per versioni inferiori alla 7 accade il finimondo. Tutto XHTML e i vari CSS sono validati perfettamente. Mi compare sono un avvertimento che non riesco a comprendere:
    “The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.”
    Senza riportare tutto il css scrivo qui sotto il modulo di esempio che ho usato per scrivere tutti i div dell’esempio. Come valori di altezza per c_1, c_2, c_3 ho usato la variabile ‘auto’ come per il tag contenitore div2 e via di seguito. c_2_2, c_2_3, c_2_4 sono invece uno sotto l’altro.

    MODULO STANDARD CSS

    div#t_1 {
    line-height:23px;
    float:left;
    text-align:center;
    position:relative;
    top:0px;
    left:0px;
    width:128px;
    height:16px;
    padding:7px 10px 7px 10px;
    margin:10px 5px 0px 20px;
    border-width:1px;
    border-style:solid;
    border-color:#4167E1;
    background-color:#4167E1;
    background:url(../immagini/ombra.jpg) repeat-x top left;
    font:italic 90% Georgia, "Times New Roman", Times, serif;
    color:#FFFFFF;
    }
    In pratica a meno di fronzoli ho usato sempre e solo il tag float. Ho provato anche a togliere o aggiungere il ‘pezzetto’:
    position:relative;
    top:0px;
    left:0px;
    a mio avviso inutile ma non ho risolto nulla.
    Il layout funziona perfettamente su tutti gli altri browser aggiornati.
    Mi consigliate una tecnica che mi permette di costruire il layout in css a mattoncini in modo che possa vedere tutto alla perfezione anche su IE datati?

    Mille grazie

    P.S.: Il problema sembrerebbe nella larghezza generale del div. In tutti i browser esclusi IE inferiori alla 7 la larghezza é calcolabile nel modo seguente:
    width + 2*padding + 2*margin + 2*border=ST
    Non é che tutti gli IE inferiori alla 7 calcolano la variabile ST in modo diverso?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    I problemi di IE sono noti, e ci sono fior di siti che spiegano come ovviarli (alcuni riferimenti tra i "link utili")

    Se usi XHTML Strict, IE interpreta molto piu` vicino ai browser standard, mentre se usi DTD piu` vecchie IE si comporta in modo retrocompatibile (si intende come le vecchie versioni di IE).

    In particolare il box model e` diverso. In forma molto concisa si puo` dire:
    La larghezza totale di un blocco (browser standard) e` data da:
    margin + border + padding + width + padding + border + margin
    In IE (quirks mode) invece e` data da:
    margin + width + margin (border e padding fanno parte di width)
    Per correggere per i browser IE piu` vecchi, si possono usare i "commenti condizionali" (vedi tra i "link utili" o fa' una ricerca in rete)


    NOTA: quando posti coidice, usa i VBtag, ad esempio premendo il bottone # sopra l'area di inserimento
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350
    Bene, facciamo di questa discussione un punto comune di sapere!
    Postiamo un po' di "link utili" su tutti i comandi css non digeriti bene da IE...

    Inizio io...

    1) COMANDO CSS: "width"
    GUIDA: "Come posso avere un div di dimensioni uguali in tutti i browser?"
    LINK: http://css.html.it/faq/leggi/269/com...tti-i-browser/

    Tra il resto qualcuno mi spiega che senso ha riscrivere per 3 volte di fila la parola incriminata width aggiungendo delle stanghette / di tanto in tanto? "width: 170px; \width: 200px; w\idth: 170px;"

    Grazie Mich_ ma ho trovato la discussione partendo da google...

    Vorrei migliorare la mia compatibilità crossbrowser quindi se dopo avermi spiegato il punto interrogativo qui sopra ti viene in mente altro, visto che sei molto esperto non dimenticarti di scrivere!

    A presto

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Una discussione con i "link utili" c'e` gia`, ed e` ben fornita.
    Potrebbe mancare qualche link, potrebbe venir aggiornata, ma proprio per questo non e` chiusa, ma aperta alla collaborazione di tutti: chiunque puo` aggiungere alla fine (poi se la cosa e` ritenuta interessante, i moderatori copiano i link al posto migliore in modo da tenere la cosa razionalmente valida.


    Gli hack per la parola width, servono (servivano?) per fornire valori diversi a browser diversi (o versioni di browser).
    Ora non ricordo piu` quali versioni/sottoversioni interpretano le singole sintassi. Per queste cose preferisco i commenti condizionali. Gli hack che sfruttano coppie di bug sono sempre pericolosi: se in una versione successiva viene corertto un bug della coppia e non l'altro la pagina viene resa male, e trovare il problema e` come cercare un ago in un pagliaio.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350
    Perdona l'insistenza ma potresti mandarmi gli URL di questi link utili?
    Questa sera se riesco risolvo il problema di 'width' ma penso che ce ne siano molti altri. Non c'é una raccolta dei commenti condizionali più comuni?
    Se non c'é nulla di questo genere potresti dirmi quali attributi oltre a 'width' sono soggetti ad errori di renderizzazione? Non voglio che me li elenchi tutti ma che mi dici i primi che ti vengono in mente... I più comuni... Per favore!

    P.S.: Sto usando IETester ma mi fido poco... per favore solo i più comuni che ti vengono in mente! Anche senza 'soluzione'... In maniera da sapere a cosa devo fare attenzione...

    Grazie mille

    P.S.: Non sapevo di cosa parlavi fin che non ho letto qui:
    http://www.webmasterpoint.org/webdes...ionali-css.asp

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nel forum "CSS" il primo messaggio (in evidenza) e` quello dei "link utili". Non credevo di doverti dare il link, dato che e` in evidenza, comunque eccolo: http://forum.html.it/forum/showthrea...readid=1013463

    I commenti condizionali sono una sintassi proprietaria di IE. Sono dei commenti HTML, che pero` in IE vengono interpretati e possono servire per insrire funzionalita` aggiuntive che non vengono viste da altri browser. Vengono spesso usate per inserire CSS di correzione per le diversita` di IE.

    Per quanto riguarda le correzioni piu` comuni, riguardano soprattutto il box-model: in IE (quirks mode) border e padding fannoparte di width/height, mentre in altri borwser questi sono esterni a width/height.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350
    La larghezza totale di un blocco (browser standard) e` data da:
    margin + border + padding + width + padding + border + margin
    In IE (quirks mode) invece e` data da:
    margin + width + margin (border e padding fanno parte di width)
    1) Sto correggendo il layout ma se non ho fatto errori, se IETester funziona ma sembrerebbe di si e se la dicitura "quirks mode" non é rilevante questa affermazione non é corretta. Volendo testare su IE 5, IE 5.5, IE 6, IE 7 ed IE 8 come pensi sia meglio comportarsi? Sono necessari 5 fogli di stile? Come bisogna comportarsi con width e hight nelle 5 casistiche?

    2) Esiste una versione di IETester valida anche per la versione 5.0?

    3) Conviene procedere con versioni più vecchie della 5?

    Grazie mille per l'aiuto Mich_!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La dicitura "quirks mode" e` rilevante!

    IE6 e IE7 (e in parte anche IE8) funzionano in modo retrocompatibile (quirks mode) se il linguaggio usato e` HTML fino al 4 e XHTML 1.0 Transitonal; funzionano invece in modo standard (circa come i browser conformi) se usi XHTML 1.0 Strict.

    Non conosco IETester.

    Stando alle statistiche che girano (ci sono alcuni thread nel forum che ne parlano - se ti interessa puoi usare la funzione ricerca), IE6 ha ancora una certa diffusione, mentre i precedenti sono pressoche` estinti.
    La mia idea e` che un sito deve fornire pagine in cui in ogni brwoser il contenuto sia sempre leggibile, mentre se nei brwoser piu` vecchi si perde (parte del)la formattazione non e` un grosso problema: chi li usa lo sa ed evidentemente non gli interessa (altrimenti troverebbe una soluzione piu` aggiornata)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350
    1) Con questo doctype secondo te come mi devo comportare per le varie versioni di IE? Possibile che nessuno abbia ancora affrontato questo problema e non abbia fatto un rapido riassunto su come risolvere il problema!?!?!?!?...

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>

    2) Seguirò il tuo consiglio; lascio perdere IE 5 e mi fermo alla 5.5 però mi sorge un dubbio curioso. Se non usi questo software come garantisci la funzionalità crossbrowser per le vecchie versioni di IE?

    Ancora grazie!

  10. #10
    Utente bannato
    Registrato dal
    Aug 2009
    Messaggi
    350
    Vorrei aggiungere che il problema pare essere più complesso:
    http://www.ic-manzoni-uboldo.it/sito...box-model.html
    Siamo certi che qualcuno su questo sito ha già affrontato/sta affrontando il problema della compatibilità crossbrowser? C'é solo il povero Mich_ qui su questo forum?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.