Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema con Safari e margin-top

    Ciao
    Ho un problema piuttosto fastidioso a causa di un footer. Adattando un layout che uso abbastanza spesso (e che ho sempre considerato tendenzialmente crossbrowser), ho da poco rifatto il layout di un mio sito: storia della musica
    di base tutto fila liscia, a parte un grosso problema col div footer.
    Premetto che la struttura è tutta realizzata con div flottanti: in pratica al centro è data da tre div floattanti accostati, c'è poi un separator in mezzo con clear:both; e sotto il div footer. Il problema del div footer è che calcola il margin top non rispetto, come dovrebbe al div superiore più altro, ma sempre e comunque rispetto al secondo div affiancato, non necessariamente il più alto. Proprio per questo temporanea ho messo il copy notice solo nella home, dove l'altezza è fissa, ma resta una soluzione di fortuna. Altrove c'è il div, molto semplicemente vuoto.
    Il problema resta in Safari che, essendo più ligio alle regole (giustamente), dove vede il div vuoto impedisce di selezionare delle aree del testo che prevedono interazione e in più calcola un margine più basso.
    Sempre come soluzione di fortuna ho utilizzato, per la home, dove viene visualizzato il footer, l'hack col # dando un margine maggiore solo per safari. Il problema è che quella soluzione tende a sbagasciare tutto se incorporata nel css principale.
    L'unica sarebbe quindi risolvere alla radice pulendo il codice in modo da far calcolare al footer il margine rispetto al div centrale.
    Qualcuno ha una soluzione più o meno indolore ?
    Thanks !!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    C'e` qualche problema nel codice HTML:
    Usi spesso blocchi vuoti: questi possono venir ignorati completamente dal browser, compresa la formattazione: un clear (o un width) in un blocco vuoto, puo` non venir interpretato ...

    Inoltre usi le tabelle per formattare: questo e` un errore semantico, che pero` in qualche caso ti porta a difficolta` nei CSS, dato che le tabelle introducono non solo un significato nel contenuto, ma anche una loro propria formattazione.

    Poi il codice e` molto lungo, e non riesco ad analizzarlo tutto ... prova comunque ad inserire uno spazio in uttti i blocchi vuoti: potrebbe sistemarsi il tutto.
    Nota: per eliminare l'altezza minima di un blocco in IE6-, probabilmente devi anche definire font-size:0; nel CSS di tutti i blocchi "vuoti": infatti IE6 non permette altezze inferiori al font (anche se il font non e` usato).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Sulle tabelle ti do ragione: io stesso di base non le uso mai ma davvero questo layout, in questa forma, sarebbe stato duretto da gestire senza tables (avrei dovuto creare ancora altri div iterni, con ulteriore affaticamento delle engine dei browser).
    Detto questo: tu dici, in pratica, che il fatto che il div separatore e il div footer siano completamente vuoti potrebbe alterare i parametri di margine, right ?
    Mi metto subito al lavoro inserendo due contentuti dummy (pernso degli spaces) e speriamo bene. Torno su queste colonne per riferire tra un paio d'ore.
    (intanto grazie mille !)

  4. #4
    Alla fine ho risolto
    Semplicemente avevo dimenticato di fissare l'height:auto in uno dei div centrali ed era rimasto ancorato ad un'altezza fissa. Quindi il div si allungava fisicamente ma il margine veniva calcolato rispetto all'altezza fissata in css. Il problema resta con safari che continua comunque a salire: per il momento ho usato il noto hack dell'asterisco. In attesa di capire in che cosa Safari possa differire nel calcolo del margine da IE e Firefox ...
    Grazie comunque per l'aiuto

  5. #5
    Originariamente inviato da zipman16100
    Sulle tabelle ti do ragione: io stesso di base non le uso mai ma davvero questo layout, in questa forma, sarebbe stato duretto da gestire senza tables (avrei dovuto creare ancora altri div iterni, con ulteriore affaticamento delle engine dei browser).
    Detto questo: tu dici, in pratica, che il fatto che il div separatore e il div footer siano completamente vuoti potrebbe alterare i parametri di margine, right ?
    Mi metto subito al lavoro inserendo due contentuti dummy (pernso degli spaces) e speriamo bene. Torno su queste colonne per riferire tra un paio d'ore.
    (intanto grazie mille !)
    A mio parere non è un sito particolarmente difficile come struttura.
    E comunque in generale la struttura tabulare è ben più complicata della stessa formulata con i div e compagnia bella. E anche il tuo sito conferma la mia teoria.
    Il caricamente di una pagina in html è più lenta se costruita con le tabelle.

    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.