Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23

    Problema con i div centrati!

    Buonasera,
    Io ho il seguente problema:
    praticamente ho una pagina index con tre div centrati solo orizzontalmente e fin quì tutto bene. Ma facendo svariati test ho notato che diminuendo la risoluzione dello schermo il div a destra viene "tagliato" e il suo contenuto sparisce....
    Questo è il layout della pagina:

    schema1.jpg

    e questo è il problema:

    SCHEMA4.jpg

    Come potete vedere nella seconda immagine, a sinistra, aumentando la risoluzione , i div si centrano perfettamente, a destra, diminuendo la risoluzione, il div "navigation" a sinistra viene tagliato! Di seguito riporto anche il codice css:
    ---------------------------------------------------------------
    html,body{
    margin:0;padding:0
    }


    body{
    font: 76% arial,sans-serif;
    }


    p{
    margin:0 10px 10px
    }


    a{
    color: #981793;
    }


    table.center {
    margin:auto;
    }


    div#header{
    height:80px;
    line-height:20px;
    margin:0;
    padding-left:10px;
    background-image: url(/img/sfondo-headers2.png');
    color: #FFFFFF
    }


    div#login{
    position:absolute;
    float:right;
    width:386px;
    height:80px;
    margin-left:200px;
    margin-top:-85px;
    left:50%;
    }


    div#content p{
    line-height:1.4
    }


    div#wrapper{
    height:100%;
    float:center;
    width:100%
    }


    div#content{
    position:absolute;
    width:675px;
    height:550px;
    scrollbar: hidden;
    left:50%;
    margin-left:-337px;
    overflow: auto;
    }

    div#navigation{
    position:absolute;
    width:337px;
    height: 570px;
    left:50%;
    margin-left:-674px;
    overflow: auto;
    }
    ---------------------------------------------------------------
    Eliminando le istruzioni "left:50%;" e "margin-left" il problema svanisce, ma ovviamente i div non vengono più centrati.

    Quale può essere la soluzione? Help!

    Grazie in anticipo

    Buona serata :-)
    Se sei padrone di te stesso sei padrone
    del mondo...

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Salve, sarebbe opportuno usare i relativi tag di formattazione quando posti del codice sul forum.

    Il tuo css presenta qualche errore:

    background-image: url(/img/sfondo-headers2.png');
    Manca un'apice davanti al percorso

    float:center;
    Il valore center non è consentito per la proprietà float

    scrollbar: hidden;
    La proprietà scrollbar non esiste

    E' possibile che il problema dipenda da qualche altro fattore ma prima devi correggere necessariamente questi errori.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23
    Ciao, credo di aver tralasciato un dettaglio molto importante, ovvero che sono un neofita! Pratico il css da poco più di 10 mesi.
    Ho corretto gli errori da te gentilmente indicati, ma il problema persiste!
    Se sei padrone di te stesso sei padrone
    del mondo...

  4. #4
    Prova a mettere float: left; a #navigation
    Non sono un esperto ma provare non costa nulla

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quote Originariamente inviata da Dr.chm Visualizza il messaggio
    Eliminando le istruzioni "left:50%;" e "margin-left" il problema svanisce, ma ovviamente i div non vengono più centrati.
    Chiaro. A me non convince comunque la logica che hai utilizzato, impostando dei posizionamenti assoluti e dei margin-left negativi.
    Per centrare un blocco di div puoi racchiudere questi dentro un contenitore con dimensioni fisse al quale applichi la regola margin:0 auto;

    Ti posto un esempio pratico in cui viene centrato l'intero blocco dei 3 div:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <style type="text/css">
          html,body{
            margin:0;padding:0
          }
          div#wrapper{ /* contenitore del blocco di DIV */
            width:1012px; /* larghezza totale del blocco di DIV 675+337 */
            height:650px; /* altezza totale del blocco di DIV 80+570 (potrebbe essere anche omessa)*/
            margin:0 auto; /* allineamento centrale dell'intero blocco */
          }
          div#header{
            height:80px;
            line-height:20px;
            padding-left:10px;
            color: #FFFFFF
          }
          div#content{
            width:675px;
            height:550px;
            float:left;
            overflow:auto;
          }
          div#navigation{
            width:337px;
            height:570px;
            float:left;
            overflow:auto;
          }
        </style>
      </head>
      <body>
      
        <div id="wrapper" style="background-color:navy">
          <div id="header" style="background-color:red">
            Lorem ipsum dolor sit amet, consectetur adipisicing elit,
            sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
          </div>
          <div id="navigation" style="background-color:yellowgreen">
            Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
            Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
          </div>
          <div id="content" style="background-color:royalblue">
            Excepteur sint occaecat cupidatat non proident,
            sunt in culpa qui officia deserunt mollit anim id est laborum.
          </div>
        </div>
        
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    23
    Grazie KillerWorm! Con questo suggerimento ho risolto il problema. In effetti il metodo di centramento che avevo utilizzato in precedenza, faceva acqua da tutte le parti! Scusate l'ignoranza
    Buona serata
    Se sei padrone di te stesso sei padrone
    del mondo...

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.