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

    mancata inclusione di una immegine in un div figlio

    Ho due div padre e figlio. Il primo (wrapper) imposta un generale sfondo bianco,
    il secondo content) uno sfondo grigio per il testo. Questo il codice:
    codice:
    div#wrapper {height:100%; width:100%; float:none; background-color: white;}
    div#content{height:auto; width:auto; float:none; margin: 0 220px 0 130px; padding: 15px; background-color: #F4F4F4}
    Ho piazzato un'immagine a destra del testo in content, ma lo sfondo grigio
    si estende in altezza solo sino alla fine del testo, e la parte restante dell'immagine
    (in basso rispetto al testo) è su sfondo bianco. Essa insomma si estende non più
    in content, ma in wrapper. Qyesti l'HTML della sezione content:
    codice:
            <div id="content">
                <div>[img]portone.jpg[/img]</div>
                <h2 id="cit">Un classico non ha mai finito di dire 
    
                quello che ha da dire.
    
    
                <span class="italic">Italo Calvino</span></h2>
            </div>
    Come posso includere tutto correttamente in modo che il div content
    e il relativo sfondo grigio includano anche l'immagine nella sua interezza?

    Grazie
    M.

  2. #2
    innanzi tutto ti suggerisco un cambio semantico nell'html ossia usare dei tag più appropriati, a meno che tu non hai altre esigenze:

    html;
    codice:
    <div id="content">
                [img]portone.jpg[/img]
                <cite>
                       Un classico non ha mai finito di dire
    
                       quello che ha da dire.
    
                       Italo Calvino
                </cite>
    </div>
    css:

    codice:
    #wrapper { width:100%; float:none; background-color: white; }
    #content { margin: 0 220px 0 130px; padding: 15px;
                     background-color: #F4F4F4; overflow: visible; }
    #content img { float: right; width: xxx; height: yyy; margin-left: 215px;}
    #content cite { float: left; width: 200px; margin: 15px; }
    non posso controllare ma ti invito a fare delle prove.

    innanzi tutto considera che al posto di xxx e yyy devi menttere le dimensioni della tua immagine.

    height: 100% funziona solo se il padre dell'elemento che dichiari height: 100% ha un altezza esplicita.

    se usi float: none immagino che altre regole precedenti dichiaravano #wrapper e #content float, altrimenti è una dichiarazione superflua in quanto float non è ereditata come proprietà.

    controlla l'effetto che ottieni con i float del blocco cite e dell'immagine

    #content { overflow: visible; } è un trucco per gestire i contenitori che contengono elementi float. in questo modo il contenitore (#content), si estenderà per tutta l'altezza degli elementi contenuti, altrimenti dovresti inserire un'altro elemento che abbia come regola clear: both;

    dall'errore che riscontri deduco che ci sono altre regole che influenzano gli elementi messi in campo, quindi non posso essere più preciso.

    spero che queste indicazioni ti siano utili.
    Arjuna

    finding solutions

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    484
    No, la tua risposta mi ha aiutato moltissimo. Sto cercando di risolvere
    man mano i problemi e di capire il funzionamento. Ora, il codice risistemato
    che mi consente di ottenere l'effetto voluto, cioè testo e scritta insieme
    nel content a fondo grigio ci sono. Però c'è ancora qualche problema.
    Il codice che ho anche ripulito da una serie di indicazioni inutili è:
    codice:
    /*stili per il layout elastico con background*/
    html{margin: 0;padding:0;}
    body{padding: 10px;font-family: arial,sans-serif;font-size: 76%;color: #1A2894; background-color: #17237A;}
    
    /*stili generici, su header e footer*/
    div#header{height:160px; padding:5px; background-color:white;color:#1A2894;}
    div#footer{height: 60px; padding: 45px 150px; clear:both; background-color: white; color: #1A2894;}
    
    /*stili specifici per il layout*/
    div#container{width:96%; border:0; margin:auto; background-color: white;}
    div#content{margin: 0 240px 0 150px; padding: 15px; background-color: #F4F4F4; overflow:visible}
    
    #content img {width:150px float:right; margin:100px 0 25px 65px;}
    #content cite {float:left; width:350px; margin:45px; font-size:180%}
    
    div#navigation{height:auto; width:120px; float:left; padding:15px; background-color:white;}
    div#extra{height:auto; width: 210px; float:right; padding:15px; background-color:white;}
    Però nell'indicazione #content img {width:150px float:right; margin:100px 0 25px 65px;}
    modificare il parametro width non produce alcun risultato. Come mai?
    Puoi vedere il risultato al seguente link di prova:
    http://samiel.netsons.org/

    Mille grazie
    M.

  4. #4
    hai installato firebug?

    cite ha una dimensione complessiva (width più i margini) troppo grande.

    devi ridurre i margini o anche la larghezza e lo stesso devi fare con l'immagine (ma solo con i margini perchè la larghezza deve essere la stessa dell'immagine), in questo modo entrambi saranno sulla stessa linea.

    entrambi in totale devono essere uguali o inferiori alla larghezza di content altrimenti l'immagine va a capo
    Arjuna

    finding solutions

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    484
    Ho ristrutturato la pagina perché il menu di destra non doveva essere incluso.
    Adesso c'è più spazio e il ridimensionamento dell'immagine è possibile.
    Cmq ho capito l'errore che facevo...

    Grazie mille
    M.

  6. #6
    devi sempre avere chiaro ciò che accade al browser, solo così potrai capire come mai non riesci a fare quello che vuoi... c'è sempre un modo, ma a volte devi sacrificare qualcosa
    Arjuna

    finding solutions

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    484
    A propos: non conoscevo Firebug.
    Avevo però installato WebDeveloper.
    Ho visto che alcune cose le fanno entrambi.
    Adesso me lo vedo meglio.
    A volte, quando non trovo la teoria,
    vado per tentativi ed errori.
    Cambio un parametro alla volta
    così per esclusione individuo
    quanto meno la causa del problema.
    Su queste pagine web ho un secondo problema,
    ma ho aperto un altro tread apposta:
    http://forum.html.it/forum/showthrea...readid=1176644
    Un po' alla volta sta prendendo forma...

    Grazie
    M.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.