Continua la rubrica su JuliusDesign, CSS Trick in cui vedremo alcuni codici CSS per facilitare o agevolare il flusso di lavoro.
Oggi vediamo insieme come centrare un contenuto in verticale e orizzontale nella nostra pagina web.
Spesso avremmo proprio bisogno di un bel fucile per minacciare il nostro CSS e centrare correttamente i nostri contenuti.
Vediamo come senza armi, ma in modo pacifico possiamo centrare contenuti in orizzontale e verticale in una pagina web.
Per centrare un div in orizzontale ci basterà assegnare una larghezza e un margin zero per l’asse delle x e auto per l’asse delle y.
#contenitore{
width: 100px;
height: 100px;
margin: 0 auto;
}
Per centrare un div in verticale è leggermente diversa la tecnica da usare.
Purtroppo non si puà usare margin: auto auto sarebbe troppo facile e neanche vertical-align in quanto funziona solo con le tabelle, oppure associando a un div table come tipologia di display.
#contenitore{
background-color: #F3F3F3;
border: 3px dashed #CCCCCC;
height: 18em;
left: 50%;
margin-left: -15em;
margin-top: -9em;
position: absolute;
top: 50%;
width: 30em;
text-align:center;
line-height: 16em;
}
Per centrare questo div id uguale contenitore dovremo, dopo aver assegnato altezza e larghezza, associare una posizione absolute, con top e left in percentuale.
Questa tecnica CSS è compatibile con i browser: Internet Explorer 6+, Firefox, Chrome, Opera, Safari.
Conosci un codice CSS che potrebbe essere utile ai lettori di JuliusDesign?
Invia una email con il codice CSS+HTML dettagliato a csstrick@juliusdesign.net, il prossimo codice potrebbe essere firmato da te!
Lascia un Mi Piace se non conoscevi questo Trick, o se ti piace la rubrica.
Prezzo: EUR 19,90
Promozione: EUR 16,91
Prezzo: EUR 19,90
Promozione: EUR 16,91
Prezzo: EUR 18,50
Promozione: EUR 15,72
Prezzo: EUR 9,50
Promozione: EUR 8,07
Oggi vediamo alcuni indispensabili consigli SEO per migliorare la visibilità dei siti web o ancora meglio degli  articoli, con lo scopo di migliorare la predisposizione all’indicizzazione dei nostri progetti web sui motori di ricerca. Ormai anche il Web Designer, soprattutto se è ha intrapreso la carriera da Freelance, deve assolutamente conosce alcune nozioni base della SEO. [...]
Come ogni giorno, mi ritrovo a girovagare per il web: news dal mondo, articoli di nuovi o aggiornamenti social, altro vip che si cancella da Twitter… solita routine, quando ad un tratto vengo attratto dalla notizia di un nuovo Social Network super esclusivo. Già avevo sentito parlare di Path, ma non so per quale strano [...]
Sono sempre troppo poche le campagne creative che puntano a sensibilizzare sulla causa animalista, contro le violenze e i test sugli animali, eppure quelle che hanno colpito di più l’immaginazione sono scolpite nelle coscienze di ognuno come segni indelebili. Tra tutte, una delle più meritevole degli ultimi anni è quella dell’azienda inglese LUSH, che ha [...]
Christophe Huet è un fotografo specializzato nel fotoritocco digitale, che divide facilmente le opinioni del pubblico, in quanto sappiamo benissimo che esistono due distinte correnti di pensiero. I primi, puristi della foto per i quali la manipolazione è da pena di morte, e i secondi, gli artisti del fotoritocco come Christophe che del fotoritocco hanno [...]

bfred.it
8 aprile 2011
Fortunatamente esiste un’alternativa che risolve il problema del contenuto non visibile se la finestra è troppo piccola: http://blog.themeforest.net/tutorials/vertical-centering-with-css/ (soluzione #3)
HTML:
<div id="floater">
<div id="content">
Content here
</div>
</div>
CSS:
#floater {float:left; height:50%; margin-bottom:-120px;}
#content {clear:both; height:240px; position:relative;}
Purtroppo è necessario un secondo elemento, ma è ovviamente meglio un elemento in più di un testo non visibile.
marco
8 aprile 2011
Bella rubrica questa grazie!
silvia
8 aprile 2011
Ottima tecnica messa tra i preferiti!
Riccardo
8 aprile 2011
Stavo cercando proprio questo!!! GRAZZZIE!
Mario
8 aprile 2011
numero uno come sempre!!
Giorgio
8 aprile 2011
Messo tra i preferiti la tua rubrica grande!
Giuseppe
8 aprile 2011
@ bfred.it:
Io già conoscevo questa tecnica, ma il problema é proprio quello che hai segnalato tu! Grazie per questo link, non sapevo ci fosse una soluzione alternativa alla tabella posizionata centralmente in verticale per evitare che parte del sito si cancelli quando la finestra é troppo piccola:D
bfred.it
8 aprile 2011
@ Giuseppe:
Prima di trovare la soluzione con il floater utilizzavo
min-heightsul body, mi pare, per evitare che la finestra diventi troppo piccola, ma il floater funziona meglio ed è più compatibile.Giuseppe
8 aprile 2011
@ bfred.it:
Si infatti, questo é più compatibile di sicuro… lo utilizzerò non appena c’é ne sarà occasione :)
Monica
8 aprile 2011
e se contenuto è caricato dinamicamente? e ognuno ha l’altezza diversa?
bfred.it
8 aprile 2011
@ Monica:
Ci sarebbe il metodo table/table-cell, ma ho avuto parecchi problemi a farlo funzionare ed alla fine ci ho rinunciato. http://blog.themeforest.net/tutorials/vertical-centering-with-css/ (metodo #1)
Oppure può usare un po’ di javascript con il mio metodo
//con jquery, al caricamento della pagina$(document).ready(function(){
var altezzaContenuto = $('#content').height();
//l'ideale è non modificare l'altezza del floater via CSS ma farlo solo se è disponibile il javascript
$('#floater').css({height:"50%",marginBottom:-altezzaContenuto/2})
})
Antonio
16 aprile 2011
Stavo cercando propio questo, GRAZIE…
Daniele
5 maggio 2011
Ciao Julius, controlla la scritta dell’immagine dell’articolo.. (Trik)
Claudio
14 ottobre 2011
@ bfred.it:
bfred.it ha scritto:
ciao bfred ho provato questa soluzione, ma non mi funziona se non con questa modifica:
HTML: Content here CSS: #floater {float:left; height:50%; margin-bottom:-120px;} #content {clear:both; height:240px; position:relative;}
cioè mi pare che occorra chiudere il div floater prima di aprire il div content.
Ho controllato anche al link di riferimento e nell’applicare la regola, spostano appunto il div content al di fuori del div floater.
Scusate ma sono molto inesperto e mi piacerebbe capire… grazie
Claudio
14 ottobre 2011
Forse ho fatto un po’ di casino, ma non so come inserire i codici html…
Riprovo ad inserirli:
Versione di bfred
HTML:
<div id="floater"> <div id="content"> Content here </div> </div>CSS:
#floater {float:left; height:50%; margin-bottom:-120px;} #content {clear:both; height:240px; position:relative;}Versione secondo me corretta
<div id="floater"> </div> <div id="content"> Content here </div>CSS:
#floater {float:left; height:50%; margin-bottom:-120px;} #content {clear:both; height:240px; position:relative;}Spero sia giusto… abbiate pietÃ