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

    [CSS] posizionamento assoluto vs float per layout a 3 colonne

    Dopo varie ricerche sul web ho trovato due metodi diversi per creare un layout a 3 colonne.
    1. metodo classico (descritto in un articolo di pro.html.it) che consiste nel posizionare in modo assoluto
    colonnasx e colonnadx, il contenuto avrà i margini adatti e andrà a posto di conseguenza.
    Vantaggio: sito ridimensionabile a piacere e compatibilità (usando il box model hack) anche con browser che non supportano bene i css.
    Svantaggio: il problema è che se la colonna centrale è più corta delle laterali bisogna aggiungere un padding bottom o tanti br (insomma allungarla in qualche modo) oppure mettere un footer solo al di sotto della colonna centrale per evitare che questo si sovrapponga alle colonne. Se invece la colonna centrale è la più lunga, per far allungare le altre due colonne (quelle laterali) si usa un escamotage (dare il colore al body). Ma in questo modo non si è obbligati ad avere le due colonne laterali dello stesso colore? E se le voglio di diverso colore? C'è una soluzione al problema? (magari è semplice ma non ci riesco)
    2. metodo del float: colonnasx con float sx, colonna dx con float dx, colonna centrale con margini appropriati e infine footer con clear both che si assesta al di sotto dell'elemento che sporge di più.
    Vantaggio, risolve il problema del footer.
    Svantaggio (?), si deve per forza seguire l'ordine (all'interno
    del testo del file) colonnasx, colonnadx, colonna centrale (perché conta
    l'ordine dei float) e quindi il limite è proprio nell´ordine in cui appaiono i contenuti con browser non grafici o che non leggono il css.
    Inoltre il float non è nato per ottenere questo scopo (esistono per l'appunto position assolute o relative). Ci sono altri problemi che non conosco?

    Voi di che scuola di pensiero siete?
    Qual è la via migliore. Illuminatemi please!
    Grazie a tutti e scusate se sono stato prolisso.

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    1. per avere colonne di colori diversi potresti fare così: dai al body il colore della colonna di sinistra, poi crei una bitmap alta 1px e larga esattamente come la colonna di destra del colore che vuoi per la colonna di destra, a questo punto usi la bitmap come background-image del body, mettendo background-repeat: repeat-y e background-position: right top in modo che se ne stia appunto a destra

  3. #3
    Col float quando ridimensioni la pagina sballa tutto. Io avrei posizionato in maniera assoluta tutte e tre le colonne.
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  4. #4
    grazie pela!!! ottima idea! Grazie!


    Originariamente inviato da cristiano_longo
    Col float quando ridimensioni la pagina sballa tutto. Io avrei posizionato in maniera assoluta tutte e tre le colonne.
    x cristiano:
    non mi sembra che quando ridimensioni la pagina sballa tutto, a me si vede bene fino a 640x480. Ho preso spunto proprio da un articolo di pro.html.it sul Layout-o-matic di Cesare Lamanna. Seguendo i consigli dell'articolo ho creato una pagina di prova che funziona benissimo anche se ridimensioni.

    ciao

  5. #5
    Intendevo quando la finestra del browser e' piu' piccola della dimensione delle tre colonne. Fluttuando si avvo a sovrapporre.
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  6. #6
    a mio consiglio ti propongo di abbandonare la versione float, infatti procurra miriadi di problemi se dentro le due colonne in float inserisci altri elementi float, specialmente su opera e browser mac

    quindi è meglio il sistema position, che unitò a questo

    http://www.constile.org/tips/min-height/#CONTENUTI

    può essere sfruttato mooooolto bene

    Luca Mascaro
    Usability e Accessibility Engineer, User Interface Designer/Engineer
    NOW BLOG
    W3C HTML & WCAG WG Member for IWA/HWG

  7. #7
    molto incasinato colori orribili, tecnica mista,molto smanettato per calcolare bene le misure in px ma ci sono header e footer e se cambi tutti i color: in #ffffff hai un effetto pagina ben impaginata su tre colonne



    codice:
    
    <html> 
    <head> 
    
    <title>disposizione in colonne senza le tabelle</title> 
    </head> 
    <body> 
    
    <H3>disporre in colonne senza le tabelle</h3> 
    
    <p style="position:relative;margin-top:0px;margin-left:12px;width:725px; 
    height: 100;text-align:justify;background-color:#aaff00;"> 
    &lt;p style="position:relative;margin-top:0px;margin-left:5px;width:670px; 
    height: 150;text-align:justify;background-color:#aaff00;"&gt; 
    
     
    tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi 
    
    scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello 
    
    che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui 
    </p> 
    
    <p style="position:relative;margin-top:0px;margin-left:12px;width:230; 
    height: 400;text-align:justify;background-color:#cc9999;"> 
    
    Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre 
    
    colonne.
     
    <span style="text-align: left;color: #000000;"> 
    &lt;p style="position: absolute; margin-top: 20px; margin-left: 12px; width: 230; height: 600; text-align: 
    
    justify;"&gt;.</span> 
     
    L'effetto che si vuole ottenere è quello di tre colonne. Questo testo si deve incolonnare come se fosse inserito in una 
    
    tabella. L'effetto che si vuole ottenere è quello di tre colonne. Questo testo si deve incolonnare come se fosse inserito in 
    
    una tabella. L'effetto che si vuole ottenere è quello di tre colonne. Questo testo si deve incolonnare come se fosse inserito 
    
    in una tabella. L'effetto che si vuole ottenere è quello di tre colonne. 
    </p> 
    
    <p style="position:absolute;margin-top:-420px;margin-left:250; width:230;height: 
    400;text-align:left;background-color:#ffff00;"> 
    
    Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre 
    
    colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto [img]bouga.jpg[/img] &lt;img src=file.jpg" width="65px" heigth=52px" style="float: 
    
    left;"&gt;&lt;img src=file.jpg" width="45px" heigth=32px" style="float: left;"&gt;. Questo testo si deve incolonnare come se 
    
    fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre colonne. Questo testo si deve incolonnare come 
    
    se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre colonne. Questo testo si deve incolonnare 
    
    come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre colonne. 
    </p> 
    
    <p style="position: absolute;margin-top:-420px;margin-left:498;width:230; 
    height: 400;text-align:justify;background-color:#cc00cc;"> 
    
    Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di tre 
    
    colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello di 
    
    tre colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è quello 
    
    di tre colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole ottenere è 
    
    quello di tre colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si vuole 
    
    ottenere è quello di tre colonne. Questo testo si deve incolonnare come se fosse inserito in una tabella. L'effetto che si 
    
    vuole ottenere è quello di tre colonne. 
    </p> 
    
    <p style="position:relative;margin-top:0px;margin-left:12px;width:725px; 
    height: 100;text-align:justify;background-color:#aaff00;"> 
    &lt;p style="position:relative;margin-top:0px;margin-left:5px;width:670px; 
    height: 150;text-align:justify;background-color:#aaff00;"&gt; 
    
     
    tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi 
    
    scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello 
    
    che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui tutto quello che vuoi scrivere qui 
    </p> 
    </body> 
    </html>








    scusate se ho sputtanato malamente la pagina


    :adhone: :adhone:
    La madre degli imbecilli è sempre pregna
    vietato ai di lei figli

    Alfredo The one and only D.O.C.G.
    MyWebSite

  8. #8

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.