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

    Allineare più div dentro a un contenitore

    Ciao,
    avrei la necessita di allineare in modo fluido dei div contenuti in un contenitore div.

    Ecco il codice:

    Codice PHP:
    <div id="contenitore">
     <
    div style="float:left">a</div
     <
    div style="float:left">b</div
     <
    div style="float:left">c</div>
     <
    div style="float:left">d</div>
    </
    div
    Come di consueto questa configurazione produce un allineamento del tipo:




    Vorrei fare in modo che i 4 div si distribuiscano occupando tutto lo spazio interno e che abbiano una distanza tra loro omogenea:




    Per fluido intendo che se dovesse verificarsi che il div rosso si allunghi, allora le distanze dei div interni devono aumentare rispettando la proporzione (quindi non usare valori in px per i margini).


    Grazie in anticipo per le risposte!

  2. #2
    io quando ho questo problema uso scriptini js ma non credo sia quello che cerchi...

    A primo impatto mi viene in mente solo che potresti togliere il float dai div e metterli in display:inline e dare al padre text-align:justify solo che mi fa venire i brividi come soluzione.. oppure potresti provare qualche soluzione con il display:inline-block
    Ubuntu rulez!! :P

  3. #3
    ciao,
    grazie per la risposta!
    Non penso di scrivere del codice javascipt che mi legga la lunghezza del div contenitore e di conseguenza mi imposti una distanza appropriata per i div interni.
    Anche se ho già caricato jquery, ma non è mia abitudine usare javascript per impostare il layout.

    A queto punto penso di scomodare le tabelle....

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quegli spazi possono venir sistemati dai margini automatici.
    Che pero` non agiscono correttamente se i blocchi sono affiancati con i float (almeno nelle mie esperienze).

    Quindi dovrebbe essere:
    codice:
    CONTENITORE {
      width: 100%;     /* deve essere definita la larghezza del suo contenitore */
      text-align: justify;
    }
    TUTTI_GLI_OGGETTI_INTERNI {
      margin 0 0 0 auto;
      width: ...;          /* deve essere definita */
    }
    PRIMO_OGGETTO_INTERNO {
      margin: 0;
    }
    E questo e` valido se gli oggetti sono di tipo inline. Quindi andrebbe bene per immagini.

    Pero` se gli oggetti sono dei <div> (o comunque di tipo block) allora devi dare un float a tutti, e questo li sposta uno contro l'altro, e in molti browser il margine automatico non ha effetto.

    Dovrebbe esserci qualcosa nei CSS3, che pero` non sono ancora implementati nei brwoser.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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