Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    42

    larghezza DIV e colonne di lay out

    Salve
    ho un problema
    con la la formattazione di questo layout che ho iniziato a creare, il codice è breve e riguarda la larghezza di un Div con id="contenitore" il quale contiene altri n°4 div per l'header, la colonna di sinistra, la colonna di centro e quella destra. Ora la larghezza generale del div contenitore di 960 px, la larghezza delle tre colonne è stata distribuita per rispettare i 960 px di larghezza. In questo modo le colonne flottano a sinistra ma l'ultima resta sotto. Ho anche provato a togliere 7 pixel dalla larghezza della colonna sinistra, perche' ho usato l'attributo margin-right a 2px e un padding a 5 px. Stessa cosa per la colonna di centro , per quella di destra ho sottratto solo 5px, perche' ha solo un padding, quindi:" 243px - 510px -195px. ma non va!

    il codice a partire dal tag head

    <head>
    <style type="text/css">
    .sx{float:left;}
    h1{margin:0; padding:0;}
    div{margin:0; padding:0px; background-color:#FFCC00;}


    #contenitore{width:960px; margin:0 auto; background-color:#74625F; padding:5px;}


    #testata{background-color:#87989C; padding:10px;}


    #colsx{width:250px;background-color:#FF9900; padding:5px; margin-right:2px;}




    #colcent{width:510px;background-color:#F7D05E; padding:5px; margin-right:2px;}




    #coldx{width:200px;background-color:#7A7A7A; padding:5px}




    </style>


    </head>


    <body>
    <div id="contenitore">
    <div id="testata"><h1>Logo + Nome</h1></div>
    <div id="colsx" class="sx"> colonna sinistra</div>
    <div id="colcent" class="sx">colonna centrale</div>
    <div id="coldx" class="sx">colonna destra</div>


    <div style="clear:both"></div>


    </div>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    la colonna di sinistra è larga in totale 264px (250 + 5px di padding a sinistra + 5 pixel a destra + 2px di margine a sinistra + 2px a destra); la colonna centrale è 524, quella di destra 210px, che in totale fa 998px. Di qui l'accapo del div. Margini e padding si sommano alla larghezza impostata, dunque devi tenerne conto

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    42
    Ho capito il concetto degli spazi che espressi in pixel si vanno a sommare, solo che assegnando per la larghezza 998 e il resto delle dimensioni in larghezza , la colonna di destra non si allinea.

  4. #4
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    scusa, mio errore, avevo letto margin dove avevi in realtà margin-right (quindi avevo conteggiato anche un margine sinistro che in realtà non c'era) , la somma di tutto è 994px

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    42
    Ciao

    Ho provato ad aggiungere quelle dimensioni ma la colonna di destra resta sempre sotto quella centrale.

    La cosa strana è che sono riuscito ad allinearle quasi a mano facendo delle prove aggiungendo o sottraendo avendo solo il riferimento visivo della pagina html, solo che non continuo a capire il *nesso tra la larghezza che assegno al div contenitore e le larghezze dei div colonna, considerando il discorso che per le prime due si aggiungo 7 pixel il margin e il padding e per la terza solo 5 px del padding, il risultato dovrebbe darmi la larghezza esatta del contenitore e invece nonostante sono allineate non c'è *nesso.


    <style type="text/css">


    .sx{float:left;}
    h1{margin:0; padding:0;}
    div{margin:0; padding:0px; background-color:#FFCC00;}


    #contenitore{width:960px; margin:0 auto; background-color:#74625F;}


    #testata{background-color:#87989C; padding:10px;}


    #colsx{width:264px;background-color:#FF9900; margin-right:2px; padding:5px;}




    #colcent{width:452px;background-color:#F7D05E; margin-right:2px; padding:5px;}




    #coldx{width:210px;background-color:#7A7A7A; padding:5px; }




    </style>

  6. #6
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    sbagli i calcoli. Margini e padding (e bordi) si sommano alla larghezza impostata per un elemento

    padding:5px; margin-right:2px;

    significa che hai 5px in alto, in basso, a destra e a sinistra, e 2px a destra, quindi se sul tuo div è impostata una larghezza di 200px, in realtà sarà largo 200 + 5 +5 +2. Lo stesso calcolo devi fare per tutti gli altri div e in base alla somma delle loro larghezze assegnare la larghezza anche al contenitore.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2014
    Messaggi
    42
    Ok Grazie Mille

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.