Creare colonne di uguale altezza con i CSS risulta alquanto problematico. Con jQuery, al contrario, sono sufficienti pochissime righe di codice. In questo articolo vedremo una semplice implementazione di tale tecnica su un layout CSS a due colonne.

Partiamo dalla marcatura:


<div id="site">
    
    <div id="branding"><h1>Test</h1></div>
    
    <div id="content">
        
        
        <div id="main">
            
            Test
            
        </div>
        
        
        <div id="content-sub">
            
            
            Test
            
        </div>
        
        
    </div>
    
    <div id="site-info">Test</div>
    
</div>

Quindi aggiungiamo degli stili di base:


* {margin: 0; padding: 0;}

#site {width: 100%;}
#branding {
    background: black;
    
}

#branding h1 {
    
    margin: 0;
    padding: 1em;
    color: white;
}

#content {
    
    height: 100%;
    overflow: hidden;
    width: 70%;
    margin: 0 auto;
}

#main, #content-sub {
    
    float: left;
    width: 50%;
}

#main {
    
    background: orange;
}

#content-sub {
    
    background: yellow;
}

#site-info {
    
    clear: both;
    padding: 2em;
    font-weight: bold;
    background: black;
    color: white;
}

Con jQuery, vogliamo che le colonne si estendano sempre fino in fondo alla pagina, a prescindere dal loro contenuto. Possiamo ottenere l'altezza del documento e usare tale valore su entrambe le colonne:


$(document).ready(function() {
    
    
   var docHeight = $(document).height();
   $('#main, #content-sub').css('height', docHeight);
    
    
});

Potete visionare l'esempio finale in questa pagina.