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

    [XHTML-CSS] Float e Padding

    Ho un problema che mi fa impazzire, è presto spiegato:

    codice:
    <div id="contenuto">
           <div id="menu"></div>
           <div id="posts"></div>
           <br class="clear" />      
    </div>
    Il relativo CSS:

    codice:
    .clear {
      clear : left;
    }
    
    #contenuto {
      background-image : url(images/struttura/contenuto.jpg);
      width : 830px;
    }
    
    #menu {
      background-image : url(images/struttura/menu.jpg);
      width : 138px;
      float : left;
    }
    
    #posts {
      background-image : url(images/struttura/posts.jpg);
      width : 692px;
      float : left;
    }
    Così ho un box "contenuto" che contiene due box "menu" e "posts" uno a fianco all'altro. I box nel caso ci sia del testo al loro interno si allungano verticalmente senza alcun problema.

    I casini nascono quando inserisco l'attributo css padding a #menu. Sembra che il float non funzioni più: il box "posts" viene spostato sotto a menu. Perchè?? Non ha senso... come facciamo a mettere un padding su "menu" senza che venga sballato tutto?

    Grazie

  2. #2
    Sposto su CSS
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La larghezza totale di un blocco (browser standard) e` data da:
    margin + border + padding + width + padding + border + margin

    In IE (quirk mode) invece e` data da:
    margin + width + margin (border e padding fanno parte di width)

    Quindi aggiungendo un padding, aumenti la larghezza totale (nei browser standard), che quindi non ci sta piu` dentro il contenitore.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Originariamente inviato da Mich_
    La larghezza totale di un blocco (browser standard) e` data da:
    margin + border + padding + width + padding + border + margin

    In IE (quirk mode) invece e` data da:
    margin + width + margin (border e padding fanno parte di width)

    Quindi aggiungendo un padding, aumenti la larghezza totale (nei browser standard), che quindi non ci sta piu` dentro il contenitore.
    Pero' come soluzione si puo' pure fare (per esempio)
    #container {width: 100%; background-color:green;}
    #subcontainer {width: 100%; border:1px solid black; padding:5px;}
    e si mettono cosi'
    <div id="container">
    <div id="subcontainer">Testo</div>
    </div>
    in questo modo il subcontainer prende width 100% all'interno di container e quindi si "stringe" in base ai suoi attributi lasciando inalterata la width di container.

  5. #5
    Chiarissimi, grazie mille!

    Però ora c'è un problema, seguendo l'esempio di pop killer:

    se imposto il width di "subcontainer" a tipo il 70% come faccio a centrarlo all'interno del box "container"?

    Con IE basta mettere nel css di "conteiner" text-align: center; ma questo sembra non funzionare con IE

    Come posso sistemare?

    Grazie

  6. #6
    margin:auto; a subcontainer, oppure

    text-align:center; a container e
    text-align:left; a subcontainer

  7. #7
    Ah ovviamente prima volevo scrivere:

    Con IE basta mettere nel css di "conteiner" text-align: center; ma questo sembra non funzionare con Firefox

    Grazie pop, margin:auto; funziona perfettamente, il secondo metodo, invece, solo con IE

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.