Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: div alto 100%

  1. #1
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775

    div alto 100%



    io ho due div affiancati dentro a un container..
    l'altezza del DIV1 è tanto alta quanto il testo che ciinserisco, ovvero se inserisco 5 righe di testo è alta 50px per esempio, e se invece ci inserisco 9 righe di testo è alta 90px..

    l'altezza del DIV2 invece voglio che sia alta quanto l'altro div..
    se il DIV1 è alto 50px, anche il container è alto 50px (nel mio caso), quindi il DIV2 deve essere alto 50px..

    in pratica i due div devono avere la stessa altezza, anche se essa non viene dichiarata..
    ho provato nel DIV2 a mettere height:100%; ma niente.. non succede nulla..

    sapete aiutarmi?? grazie mille!!!

  2. #2
    Utente di HTML.it L'avatar di oreZ
    Registrato dal
    Oct 2009
    Messaggi
    9
    dalla mia poca esperienza con i css posso dirti che ho notato che i div contenitori di rado si accorgono delle loro dimensioni se non ne fissi una minima (a quanto ho capito succede soprattutto in explorer e firefox), prova a mettere una dimensione anche al div contenitore (del tipo min-height:1px; che poi si adatterà in automatico alla dimensione maggiore dei box contenuti) e fai sapere come va.
    Disorder this order

  3. #3
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    no.. nemmeno..

    se puo servire questo è il codice..

    HTML
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    
    <link href="style.css" rel="stylesheet" type="text/css" />
    
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    
    <body>
    
    	<div id="cont_shadow_top">
        	<div class="left_cont_shadow_top">
            L
            </div>
            <div class="center_cont_shadow_top">
            C
    refrt
    refrt
    refrt
    refrt
            </div>
        </div>
    
    </body>
    </html>
    CSS
    codice:
    #cont_shadow_top{
    min-height:1px;
    width:;
    height:;
    background:#0000FF;
    }
    .left_cont_shadow_top{
    float:left;
    width:60px;
    height:100%;
    background:#3F0;
    }
    .center_cont_shadow_top{
    width:;
    height:100%;
    
     margin-left: 60px;
    
    background:#CF0;
    }

  4. #4
    Utente di HTML.it L'avatar di oreZ
    Registrato dal
    Oct 2009
    Messaggi
    9
    ahimè temo non sia possibile farlo, mi sbagliavo, il contenitore deve avere le dimesioni definite espressamente, altrimenti le div figlie settate con percentuali verrano interpretate come auto (l'ho letto qui: lezione css: "gestione delle dimensioni, altezza")
    Purtroppo non so dirti come risolvere :/
    Disorder this order

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Perche` il contenitore sia alto come il maggiore dei contenuti, devi usare un clear da applicare alla fine del contenitore, coem spiegato in questo thread: [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float.

    Poi per gli sfondi puoi usare il metodo delle "false colonne" (e` stato sipegato infinite volte: fa' una ricerca nel forum o vedi tra i "link utili").
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it L'avatar di oreZ
    Registrato dal
    Oct 2009
    Messaggi
    9
    no, lui vorrebbe che il contenuto fosse grande quanto l'altro contenuto...
    Disorder this order

  7. #7
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    io devo fare una cosa uguale a questa..



    PS: non fate caso al margine tra i vari div e container, in realtà non cè spazio.. è solo per far capire che i div sono contenuti ecc..
    in cui lo il nero è il contenitore generale, il rosso 3 contenitori con dentro altri div..

    i div gialli sono disposti in modo da averne 2, uno fisso in basso e uno fisso in alto e uno che si allunga, quando si allunga il contenitore generale, di tanto quanto è lo spazio tra i div fissi..

    sono ormai troppi giorni che mi ci sbatto sopra senza nessun risultato, e so che alla fine è una cavolata risolvere questo problema..

    http://www.italiamac.it/forum/
    andate li, e cercate di immaginare la pagina come la mia immagine, le ombre sono sfondi applicate ai div gialli, oobre a destra e a sinistra.. io devo fare la stessa cosa..

    grazie a tutti!!

  8. #8
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    può centrare qualcosa questa cosa?

    http://javascript.html.it/script/ved...guale-altezza/

  9. #9
    Utente di HTML.it L'avatar di oreZ
    Registrato dal
    Oct 2009
    Messaggi
    9
    Mi sa che con i soli css non c'è soluzione...
    Mi sfugge il parallelo con il forum che hai linkato, ma se lì viene fatto quello che vorresti attuare tu, dai un'occhiata al sorgente (magari è un consiglio inutile perché lo avrai già fatto di tua spontanea volontà, ma non si sa mai).
    Se vuoi usare javascript, tenendo presente che chi non ce l'ha attivato non vedrà una beneamata dei cambiamenti che vuoi apportare, l'idea è di controllare quale altezza sia la maggiore (con l'evento onload ed eventualmente con l'evento onresize imposti nel body) e settare le altre di conseguenza con qualcosa del tipo:
    document.getElementById("iddiv1").style.height=max AltezzaTrovata/100*10;
    con:
    iddiv1: l'id di una delle div
    maxAltezzaTrovata: l'altezza maggiore (se già sai che la div con id "x" è sempre quella con l'altezza maggiore puoi imporre maxAltezzaTrovata=document.getElementById("x").hei ght
    ed il *10 lo modifichi in base a quanto spazio vuoi che occupi la data div...
    Non so se sono stato d'aiuto
    Disorder this order

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Avrei preferito colori diversi per blocchi diversi, comunque provo ad iniziare la marcatura.
    E la cosa non e` "una cavolata"; e` una delle cose piu` complesse da realizzare con i CSS.

    Ti sei gia` guardato in giro? Hai cercato tra i layout pronti? Alcune raccolte sono citate tra i "link utili", ma ne puoi trovare altre in giro per la rete.
    Se trovi qualcosa di pronto e` sicuramente piu` semplice (anche se si dovesse adattare)

    In casi cosi` complessi e` importantissimo iniziare con una marcatura corretta anche dal punto di vista semantico.

    HTML:
    codice:
    <body>
      <div id="wrapper">
        <div id="colsin">
          <div id="sinsup">
            
    
    colonna sinistra - pezzo superiore</p>
          </div>
          
    
    colonna sinistra - pezzo centrale</p>
          <div id="sininf">
            
    
    colonna sinistra - pezzo inferiore</p>
          </div>
        </div>
        <div id="main">
          
    
    principale</p>
        </div>
        <div id="coldes">
          <div id="dessup">
            
    
    colonna destra - pezzo superiore</p>
          </div>
          
    
    colonna destra - pezzo centrale</p>
          <div id="desinf">
            
    
    colonna destra - pezzo inferiore</p>
          </div>
        </div>
      </div>
    </body>
    nota che il pezzo centrale delle colonne non e` contenuto in un blocco separato. Si puo` fare, ma potrebbe essere piu` complicato del necessario


    CSS:
    codice:
    /* Anzitutto i blocchi contenitori: */
    body {
      width: 100%;    /* necessario se si vuole centrare il wrapper */
    }
    
    #wrapper {
      width: ...;   /* larghezza fissa oppure larghezza 100%, oppure max-width */
      /* non definire height, altrimenti la cosa diventa troppo complessa */
      background: grey;  /* tutti i colori di prova - servono per capire come si espandono gli oggetti */
      margin: 0 auto;      /* per centrare dentro body, se si vuole */
    }
    #wrapper:after {
      clear: both;   /* necessario se deve starci qualcosa dopo; consigliabile comunque */
                         /* per renderlo cross-browser vedi [Pillola] FabClearing, un metodo crossbrowser alternativo per il clearing dei float */
    }
    
    /* Secondo: le divisioni principali */
    #colsin, #coldes {
      width: ...;  /* va definita - puo` essere espressa in px o in em */
      background: red;
      position: relative;
    }
    colsin {
      float: left;
    }
    coldes {
      float: right;
    }
    
    main {
      margin: 0 ???;    /* misura uguale o poco superiore a width di coldes e colsin - stessa unita` di misura */
      /* width e height non vanno definite */
      background: yellow;
    }
    
    /* ora i blocchi interni */
    #dessup, #desinf, #sinsup, #sininf {
      width: 100%;    /* tutta la larghezza della colonna */
      height: ...;      /* va definita (in px o em; anche in %, ma diventa piu` complicato) - oppure min-height  */
      position: absolute;
      color: green;
    }
    #dessup, #sinsup {
      top: 0;
      left: 0;
    }
    #desinf, #sininf {
      bottom: 0;
      left: 0;
    }
    Naturalmente e` una bozza, che deve esere ancora rivista e corretta.
    E magari occorre usare i posizionamenti anche per i blocchi principlai e non solo per i blocchetti agli angoli
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.