2017-04-09 3 views
1

Hallo mein Freund hat Probleme mit dem Zentrieren des Textes in der Mitte der Ränder.CSS-Positionierung nicht zentriert in IE aber ist in Chrome

Wenn ich diese Seite in IE 11 anschaue, scheint sie nicht zentriert zu sein, könnte mir jemand helfen, warum?

<header id="site-header" class="site-header valign-center"> 
    <div class="intro"> 
     <h2>x</h2> 
     <p> y </p> 
     <h1>z</h1> 
     <a class="btn btn-white" data-scroll href="#foo">button</a> 
    </div> 
</header> 

Die CSS:

.site-header { 
    width: 100%; 
    height: 100%; 
    min-height: 100vh; 
    position: relative; 
    text-align: center; 
    background: url(../images/backgrounds/header.jpg) no-repeat center center/cover; 
} 

.valign-center { 
    display: -webkit-box; 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -webkit-box-align: center; 
    -webkit-align-items: center; 
    -ms-flex-align: center; 
    align-items: center; 
} 

.site-header .intro { 
    color: #fff; 
    position: relative; 
    text-align: center; 
    text-transform: uppercase; 
    width: 100%; 
    z-index: 1; 
    padding: 0 15px; 
} 

Ich habe versucht margin: 0 auto; aber es ändert sich nicht.

Vielen Dank,

Antwort

2

hinzufügen html, body { height: 100%; }

html,body { 
 
    height: 100%; 
 
} 
 
.site-header { 
 
    width: 100%; 
 
    height: 100%; 
 
    min-height: 100vh; 
 
    position: relative; 
 
    text-align: center; 
 
    background: url(../images/backgrounds/header.jpg) no-repeat center center/cover; 
 
} 
 

 
.valign-center { 
 
    display: -webkit-box; 
 
    display: -webkit-flex; 
 
    display: -ms-flexbox; 
 
    display: flex; 
 
    -webkit-box-align: center; 
 
    -webkit-align-items: center; 
 
    -ms-flex-align: center; 
 
    align-items: center; 
 
} 
 

 
.site-header .intro { 
 
    position: relative; 
 
    text-align: center; 
 
    text-transform: uppercase; 
 
    width: 100%; 
 
    z-index: 1; 
 
    padding: 0 15px; 
 
}
<header id="site-header" class="site-header valign-center"> 
 
    <div class="intro"> 
 
     <h2>x</h2> 
 
     <p> y </p> 
 
     <h1>z</h1> 
 
     <a class="btn btn-white" data-scroll href="#foo">button</a> 
 
    </div> 
 
</header>

Oder Sie können height: 100vh nur verwenden, um auf .site-header

.site-header { 
 
    width: 100%; 
 
    height: 100vh; 
 
    position: relative; 
 
    text-align: center; 
 
    background: url(../images/backgrounds/header.jpg) no-repeat center center/cover; 
 
} 
 

 
.valign-center { 
 
    display: -webkit-box; 
 
    display: -webkit-flex; 
 
    display: -ms-flexbox; 
 
    display: flex; 
 
    -webkit-box-align: center; 
 
    -webkit-align-items: center; 
 
    -ms-flex-align: center; 
 
    align-items: center; 
 
} 
 

 
.site-header .intro { 
 
    position: relative; 
 
    text-align: center; 
 
    text-transform: uppercase; 
 
    width: 100%; 
 
    z-index: 1; 
 
    padding: 0 15px; 
 
}
<header id="site-header" class="site-header valign-center"> 
 
    <div class="intro"> 
 
     <h2>x</h2> 
 
     <p> y </p> 
 
     <h1>z</h1> 
 
     <a class="btn btn-white" data-scroll href="#foo">button</a> 
 
    </div> 
 
</header>

+0

Arbeitete, danke! Was ist der Grund dafür? :) – SCramphorn

+0

Wenn Sie versuchen, ein Kind in diesem Fall .site-header zu positionieren, muss auch der Eltern-HTML/-Körper definiert werden. Vor allem, wenn Sie Prozent verwenden, weil CSS die Größe in Bezug auf das übergeordnete Element bestimmt. – retober

Verwandte Themen