Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Larghezza dei div

  1. #1

    Larghezza dei div

    Salve,
    devo creare tre blocchi in linea tra loro così definiti: al centro c'è un div 400x300 con una immagine, mentre ai lati ci vanno due div (sempre alti 300) che si allargano fino a fine pagina.
    In pratica, l'html è questo:
    <div id="sinistra"></div>
    <div id="destra"></div>
    <div id="centro">[img]immagine[/img]</div>

    Nel css ho scritto:
    div#sinistra{height:300; float:left; background: url(sfondosx)}
    div#destra{height:300; float:right; background: url(sfondodx)}
    div#centro{height:300; width:400}

    Il problema è che i div "sinistra" e "destra" si allargano in base a quello che c'è scritto dentro: poichè non ci deve essere nulla, ma solo l'immagine di sfondo replicata "all'infinito", essi risultano vuoti.
    Come posso fare per far in modo che "sinistra" e "destra" riempino la pagina ai lati di "centro"?

    Grazie, ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    663
    300 è un po' troppo generico. Pixel?Punti? Em?. Immagino che tu intenda pixel, ma devi specificarlo, anche nel css che scrivi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    272
    Anche nell'ipotesi che quei 300 siano pixel, hai dimenticato un float per i div centrale clear sotto tutti e tre....
    Se i div laterali devono rimanere aperti forse dpuoi usare un position: absolute per tutte tre.
    Forse (se il browser lo accetta va bene anche un position:fixed)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    663
    ...ci vanno due div (sempre alti 300) che si allargano fino a fine pagina.
    Se utilizzi i pixel per definire la larghezza del contenuto centrale, devi definire anche una larghezza fissa per i div laterali.
    Devi definire prima di tutto che risoluzione vuoi che abbia il tuo layout.
    Nell'ipotesi che tu voglia un layout con una risoluzione a 800px di larghezza, hai div #sinistra e #destra imposti una width di 200px.
    Se invece vuoi un layout che si adatti alla larghezza della finestra del browser devi agire in maniera diversa.
    Cmq l'utilizzo delle position non c'entra niente con la larghezza degli elementi.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    272
    Originariamente inviato da gengix
    Se utilizzi i pixel per definire la larghezza del contenuto centrale, devi definire anche una larghezza fissa per i div laterali.
    Devi definire prima di tutto che risoluzione vuoi che abbia il tuo layout.
    Nell'ipotesi che tu voglia un layout con una risoluzione a 800px di larghezza, hai div #sinistra e #destra imposti una width di 200px.
    Se invece vuoi un layout che si adatti alla larghezza della finestra del browser devi agire in maniera diversa.
    Cmq l'utilizzo delle position non c'entra niente con la larghezza degli elementi.
    No....Ma impedisce ai div di andare a spasso per il monitor in talune occasioni.
    La larghezza massima (=complessiva, in questo caso) della pagina la davo per scontata.
    È un errore. Mai dare nulla per scontato.
    Scusate.

  6. #6
    Si si, erano 300px.
    Il problema è proprio che il layout ha un centro in dimensione fissa, ma vorrei coprire i lati fino all'"infinito". In pratica i div "sinistra" e "destra" devono riempire tutta la pagina.
    E' possibile?
    Inoltre, in risposta a quanto scritto da gengix, perchè devo mettere il float anche al div centrale? Così sta già perfettamente al centro. E perchè il clear?

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    663
    facciamo un po' di ordine=).

    Il problema è proprio che il layout ha un centro in dimensione fissa, ma vorrei coprire i lati fino all'"infinito". In pratica i div "sinistra" e "destra" devono riempire tutta la pagina.
    E' possibile?
    In linea di massima, eccetto qualche variante fantasiosa, i layout a tre colonne che puoi fare sono questi:

    http://css.html.it/guide/lezione/72/...-introduzione/

    Inoltre, in risposta a quanto scritto da gengix, perchè devo mettere il float anche al div centrale? Così sta già perfettamente al centro. E perchè il clear?
    Queste indicazione ti sono state date da simulacron. Non sono sbagliate, cmq penso che il link che ti ho postato potrà risolverti diversi dubbi in merito.

  8. #8
    Da quello che ho letto, non viene proprio presa in considerazione l'ipotesi di una div centrale a grandezza fissa e dei due div laterali fluidi.
    E' proprio impossibile ottenere una cosa del genere?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    663
    Mischiare unità di misura relative come le percentuali e assolute come i px per creare la struttura di un layout non è molto logico. Come nel tuo caso.

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.