Ricerca…


Osservazioni

Questo viene utilizzato quando le dimensioni dell'elemento ( width e height ) non sono note o dinamiche.

Preferisci utilizzare Flexbox su tutte le altre opzioni poiché è ottimizzato per la progettazione dell'interfaccia utente.

Centratura con display: tabella

HTML:

<div class="wrapper">
    <div class="outer">
        <div class="inner">
            centered
        </div>
    </div>
</div>

CSS:

.wrapper {
  height: 600px;
  text-align: center;
}
.outer {
  display: table;
  height: 100%;
  width: 100%;
}
.outer .inner {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

Centratura con Trasforma

HTML:

<div class="wrapper">
    <div class="centered">
        centered
    </div>
</div>

CSS:

.wrapper {
  position: relative;
  height: 600px;
}
.centered {
  position: absolute;
  z-index: 999;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}

Centraggio con Flexbox

HTML:

<div class="container">
    <div class="child"></div>
</div>

CSS:

.container {
  height: 500px;
  width: 500px;
  display: flex;              // Use Flexbox
  align-items: center;        // This centers children vertically in the parent.
  justify-content: center;    // This centers children horizontally.
  background: white;
}

.child {
  width: 100px;              
  height: 100px;
  background: blue;
}

Centratura del testo con l'altezza della linea

HTML:

<div class="container">
    <span>vertically centered</span>
</div>

CSS:

.container{
    height: 50px;           /* set height */
    line-height: 50px;      /* set line-height equal to the height */
    vertical-align: middle; /* works without this rule, but it is good having it explicitly set */ 
}

Nota: questo metodo centrerà solo verticalmente una singola riga di testo . Non centrerà correttamente gli elementi di blocco e se il testo si interrompe su una nuova riga, avrai due righe di testo molto alte.

Centratura con posizione: assoluta

HTML:

<div class="wrapper">
  <img src="http://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png?v=c78bd457575a">
</div>

CSS:

.wrapper{
   position:relative;
   height: 600px;
}
.wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

Se vuoi centrare altre immagini, allora devi dare altezza e larghezza a quell'elemento.

HTML:

<div class="wrapper">
  <div class="child">
     make me center
  </div>
</div>

CSS:

.wrapper{
   position:relative;
   height: 600px;
}
.wrapper .child {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 200px;
  height: 30px;
  border: 1px solid #f00;
}

Centratura con pseudo elemento

HTML:

<div class="wrapper">
  <div class="content"></div>
</div>

CSS:

.wrapper{
   min-height: 600px;
}

.wrapper:before{
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.content {
  display: inline-block;
  height: 80px;
  vertical-align: middle;
}

Questo metodo è utilizzato al meglio nei casi in cui si ha un'altezza .content centrato all'interno del .wrapper ; e si desidera .wrapper 'altezza s per espandere quando .content ' altezza s superi .wrapper min-height 's.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow