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

    ie6 - div float e margin

    non è possibile!!!
    ho questo div:

    #contentleft {
    border: 1px solid #f00;
    margin-left: 1px;
    width:165px;
    padding:0px;
    float:left;
    background: url('left_bg.gif') no-repeat;

    }

    e quando setto il margine sinistro di 1px, me lo fa di 2, se lo setto a 5, me lo fa a 10.
    togliendo float: left; il problema si risolve...ma perchè?!??! che devo fare

  2. #2
    mmm è vero...sarà un altro bug di IE...o forse c'è qualche motivo più complesso legato al float. resta il fatto però che sugli altri browser si vede uguale in ambedue i casi!

  3. #3
    su FF la visualizzazione è corretta!
    pazzesco...

    cmq ho risolto eliminando il margine ed aumentando la larghezza del div esattamente come il margine voluto:

    margin-left: 10px;
    width:165px;


    width: 175px;


    certo che è una soluzione un po' così campata per aria e nn mi attira molto...ma con i tempi che corrono (o forse dovrei dire browser)

  4. #4
    Utente di HTML.it L'avatar di pacovox
    Registrato dal
    Oct 2001
    Messaggi
    557
    E' un bug noto di IE
    http://pro.html.it/articoli/id_525/idcat_8/pro.html

    Personalmente risolvo con:
    margin-left:10px!important;
    margin-left:5px;

  5. #5
    ah già, questo important...
    praticamente la riga contrassegnata da important viene omessa da FF giusto?

  6. #6
    Utente di HTML.it L'avatar di pacovox
    Registrato dal
    Oct 2001
    Messaggi
    557
    Viene omessa da IE che legge la seconda dichiarazione la quale sovrascrive la prima, mentre i browser standard si fermano alla prima con !important.

  7. #7
    perfetto Pacovox, ho risolto grazie a questo sistema, grazie mille!

    ora però ho un problema...dentro a questo div ho altri div chedevono essere allineati a destra.

    nel div che li contiene ho specificato allora:

    text-align: right;

    ma i div vengono allineati solo con IE mentre FF sembra ignorare questo comando con i div (allinea solo i testi).

    ho provato a mettere un float: right ai div interni ma mi si scombina un po' la grafica e se fosse possibile preferirei evitare di ricorrere a questo sistema.
    Sapete se è possibile?

  8. #8
    Utente di HTML.it L'avatar di pacovox
    Registrato dal
    Oct 2001
    Messaggi
    557
    ma i div vengono allineati solo con IE mentre FF sembra ignorare questo comando con i div (allinea solo i testi).
    text-align serve per allineare il testo, ancora una volta IE interpreta a modo suo.

    ho provato a mettere un float: right ai div interni ma mi si scombina un po' la grafica e se fosse possibile preferirei evitare di ricorrere a questo sistema.
    Ci sarebbe il position:absolute o i margini, bisognerebbe vedere il tuo caso specifico, è online?
    Tieni presente che l'elemento a cui è applicato il float per l'elemento padre è come se non esistesse più, solo gli altri figli lo considerano disponendosi attorno e adattandosi di conseguenza, alcune volte questo può creare qualche problema, ad esempio se l'altezza dell'elemento flottante(figlio) è maggiore di quella dell'elemento padre(contenitore) quest'ultimo non si adatta, proprio perche non lo considera più essendo flottante.
    Si risolve ad esempio inserendo subito dopo il figlio flottante un altro elemento anche vuoto(div, p, ecc.) a cui apllichi clear:both;
    Però magari non è questo il tuo caso, ripeto bisognerebbe vedere almeno il codice.

  9. #9
    allora ho risolto praticamente mettendo i div con float:right; e poi dando un margin-top:10px
    così rimangono spaziati perchè se facevo:

    <div>dasdsa</div>


    mi metteva il br a lato del div, esattamente nel div contenitore.

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.