2016-01-03 6 views
8

Wie kann ich einen Text horizontal und vertikal zentrieren? Ich möchte nicht die absolute Position benutzen, weil ich es versuche und mein anderes DIV schlimmer wird. Gibt es einen anderen Weg, das zu tun?center h1 in der Mitte des Bildschirms

div { 
 
    height: 400px; 
 
    width: 800px; 
 
    background: red; 
 
}
<div> 
 
    <h1>This is title</h1> 
 
</div> 
 

+0

Wollen Sie die 'h1' zentriert innerhalb des' div' oder 'div' im Ansichtsfenster/Bildschirm zentriert? Bitte klären Sie, –

Antwort

6

Sie Anzeige verwenden können flex einen Flex-Kontext für alle seine direkten Kinder ermöglicht, und mit Flex Richtung stellt die Hauptachse, so definiert die Richtung Flex Elemente in der Flex platziert Behälter

div{ 
    height: 400px; 
    width: 800px; 
    background: red; 
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    text-align: center; 
} 
+0

Hoffentlich muss OP Internet Explorer nicht unterstützen. –

+0

IE 10/11 ist ziemlich gut mit flexbox. –

1

dies nur tun, die auf jedem Browser funktioniert:

div{ 
    height: 400px; 
    width: 800px; 
    background: red; 
    line-height: 400px; 
    text-align: center; 
} 

Die Eigenschaft line-height gibt die Zeilenhöhe an (die sie vertikal zentriert) und text-align:center platziert sie direkt in der Mitte horizontal.

+0

funktioniert es auch für divs? weil ich dies in meine Website legte es nicht funktioniert – Dina

+1

@Dina divs sind Blockelemente, also nein. Wenn Sie möchten, dass es in einem div funktioniert, stellen Sie den div-Stil auf 'display: inline'. Sie sollten "span" für Inline-Text verwenden. – Kris

0

.container { 
 
    display: table; 
 
} 
 
.centered { 
 
    display: table-cell; 
 
     height: 400px; 
 
     width: 800px; 
 
     background: red; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    }
<div class="container"> 
 
<div class="centered"> 
 
    <h1>This is title</h1> 
 
</div> 
 
</div>