Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107

    Trucco Css Dal Libro Di Gianluca Troiani

    Salve ragazzi come da titolo sto cercando di avvicinarmi ai css tramite al libro di cui sopra.
    Mi sono imbattuta pero' in una cosa molto molto strana, credo sia un errore.
    Stavo realizzando un layout liquido a due colonne con intestazione e pič.


    Codice PHP:
    <html>
        <
    head>
            <
    style type="text/css"
            
    body{
            
    padding:0;
            
    margin:0 10%;
            }
            
            
    #corpo{
            
    width:auto;
            
    background:#00CC00 url([url]http://www.gruppowebazar.com/z.png[/url]) 35% 0 repeat-y;
            
    overflow :hidden;
            
    bordersolid 3px #000
            
    }
            
            
    #col1{
            
    width:35%;
            
    float:left;
            
    background:#trasparent;
            
    }
        
            
    #col2{
            
    width:65%;
            
    float:left;
            
    background:#trasparent;
            
    }
            
        
    p{
        
    padding-left:0.7em}
        
            
    h1,h2{margin:0}
            
            
    #int{
            
    background:#CCFF00;
            
    text-align:center;
            
    bordersolid 3px #000;
            
    border-bottom:none;
            }        
            
    #pie{
            
    background:#FF0000;
            
    text-align:center;
            
    font-size:105%;
            
    bordersolid 3px #000;
            
    border-top:none;
            
    clear:left;
            }        
            </
    style>        
        <
    div id="int"> <h1Questo č il titolo </h1> </div>    
        <
    div id="corpo">    
            <
    div id="col1"

    colonna 1 </p> </div>
            <
    div id="col2"> <pcolonna 2 </p> </div>
        </
    div>
            <
    div id="pie"> <h2The end.... </h2> </div>    
    }
    </
    style>    
        </
    head>
    </
    html
    Bene mi trovo ora a dover appicare il bordo a #corpo e IL LIBRO RIPORTA LE SEGUENTI PAROLE:

    .... Le complicazioni sono essenzialmente dovute al fatto che si vuole aggiungere un bordo il cui spessore č espresso in pixel a un layout in cui la larghezza č espressa in percentuali. L'uso della dichiarazione overflow:hidden richiede che per l'elemento #corpo sia dichiarato un valore diverso da auto per la proprietā width. Volendo aggiunger un bordo di 3px la larghezza complessiva dell'elemento #corpo supererā quella messa a disposizione dal padding di body.
    La soluzione alternativa č questa:

    Codice PHP:
    #corpo{
      
    widthauto;  /* in questa maniera si risolve il problema dell'eccedenza dei bordi (commento personale)*/
      
    hegth:1%;
      
    border-left:3px;
      
    border-rigth:3px 
    In questo es. il trucco sta nel dare a heigth 1% in modo tale da accontentare overflow:hidden;
    Il libro a proposito di questo dice:
    Tale proprietā (impostare heigth:1%) sarā del tutto ininfluente.
    Bene ho fatto come dice il libro ma aprendo la pagina con firefox o safari o IE7 il corpo risulta completamente schiacciato (all1% ovvero). Se invece ometto heigth:1% e lascio semplicemente width:auto, tutto funziona alla perfezione sia in firefox che in Safari. Ovvero accade tutto il contrario del libro:
    lė dice ce impostando solo width:auto non funziona perchč overflow:hidden richiedeun valore diverso da auto, E INVECE A ME FUNZIONA. Dice che si deve impostare heigth:1% MA COSI' FACENDO LA PAGINA DIVIENE ILLEGIBILE.

    P.s.
    In IE7 (sempre togliendo hegth) invece non si riesce a visualizzare lo sfondo di #corpo, cosa che ho risolto inserendo il <div id="pie"> all'interno di corpo.... Non ancora capito perchč tra l'altro....
    Se invece lasciavo heigth:1% c'era si il problema che corpo veniva schiacciato pero' riuscivo a visualizzare lo sfondo di corpo (un pezzo piccolo ovviamente) senza bisogno di inserire il #pie all'interno del corpo.....


    Che casino....

    Spero che qualcuno abbia la pazienza di illuminarmi perchč non so piu' dove sbattere la testa...


    A dimenticavo questo č il link (in cui il pič č fuori da #corpo)
    http://www.gruppowebazar.com/prova.html

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi par di ricordare che Troiani mantenga un sito dove sono riportati correzioni ed aggiornamenti al suo libro: ti val la pena darci un'occhiata.

    Per il resto, ho l'impressione che ti serva semplicmente un clear, da inserire pero` alla fine del corpo: o metti un oggetto (ad esempio un <div> o un
    ) dopo le due colonne largo 100% ed alto 1px; oppure usi il trucco [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float.

    La differenza sta che nel tuo caso (quello di cui hai postato il codice) il corpo non vede la lunghezza dei due blocchi flottanti, dato che il clearing sta fuori da esso.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    overflow: hidden;
    height: auto;
    _height: 1%;

    l'ultima proprietā sarā considerata solo da IE6 e precedenti
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    Intanto GRAZIE ad entrambi per avermi aiutato..
    Ah ok.. credo di avere capito..
    Riassumendo:
    quell'heigth: 1% funziona solo su IE6 e precedenti.

    Mentre per farlo funzionare su tutti i browser una possibile soluzione č inserire il pič di pagina all'interno di corpo e fare

    Codice PHP:
    clear:left 

    Per quanto riguarda le correzioni č la nuove edizione del libro quindi penso che comprenda giā le correzzioni...

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.