2017-09-20 1 views
0

I unter wrapper innerhalb des übergeordneten div-Element mit einem height gleich windowsview height zentrieren möchten, CSS verwenden.Wie in einem übergeordneten div ein Element zum Zentrum vertikal

HTML

<div class="main-header"> 
    <div class="wrapper">center div</div> 
</div> 

CSS

.main-header{ 
color: #fff; 
background: #16a8ec; 
padding: 10px; 
height: 100vh; 
position: relative; } 

.wrapper{ 
position: absolute; 
left: 0px; 
right: 0px; 
transform: translate(0px, 50%); /* i used transform but it doesn't work */ 
-webkit-transform: translate(0px, 50%); /* i used transform but it doesn't work */ } 

Bitte helfen Sie mir Jungs, danke.

+1

Das Problem bei der Verwendung von Display-flex gelöst wurde – bellabelle

+1

@bellabelle Hallo, versucht, auf diese Weise: https://jsfiddle.net/dh0o82g6/ mit Positionierung && mit Flexbox: https://jsfiddle.net/dh0o82g6/1/ –

+0

Anstatt px in deiner Positionierung zu verwenden, kannst du versuchen, '%' zu verwenden. – bhansa

Antwort

1

Haben Sie so etwas wie dies wünschen?

die Änderungen:

  1. HTML und Körperelement sollen auf Höhe des Fensters (Darstellungsfeld) gesetzt werden, so habe ich die Eigenschaft height:100vh, dann Körper standardmäßig ist der Marge auf 8px gesetzt, Also habe ich die Eigenschaft margin:0px benutzt.

  2. Um das div innerhalb zu zentrieren, brauchen Sie nur text-align: center für das div mit Klasse main-header.

html, 
 
body { 
 
    height: 100vh; 
 
    margin: 0px; 
 
} 
 

 
.main-header { 
 
    color: #fff; 
 
    background: #16a8ec; 
 
    padding: 10px; 
 
    box-sizing: border-box; 
 
    height: 100vh; 
 
    position: relative; 
 
    text-align: center; 
 
} 
 

 
.wrapper { 
 
    position: absolute; 
 
    left: 0px; 
 
    right: 0px; 
 
    top: 50%; 
 
    left: 0; 
 
    right: 0; 
 
    transform: translateY(-50%); 
 
}
<div class="main-header"> 
 
    <div class="wrapper">center div</div> 
 
</div>

+0

Nein, ich möchte das Wrapper-Element vertikal zentrieren – bellabelle

+0

@bellabelle Können Sie meine Antwort jetzt überprüfen? –

2

Mit FlexBox:

.main-header{ 
    color: #fff; 
    background: #16a8ec; 
    padding: 10px; 
    height: 100vh; 
    position: relative; 
    /* Flexbox */ 
    display: flex; 
    align-items: center; 
} 

.wrapper{ 
    /* your wrapper style */ 
} 

Mit absoluter Position:

.main-header{ 
    color: #fff; 
    background: #16a8ec; 
    padding: 10px; 
    height: 100vh; 
    position: relative; 
} 

.wrapper{ 
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
} 
Diese
+0

das Ergebnis nicht – bellabelle

+1

Leider können Sie direkt mit Ihrer Antwort, zeigen flex dann ausrichten-Produkte Zentrum – bellabelle

+0

es funktioniert! Vielen Dank – bellabelle

0

Check: Hinzugefügt top:46% und left:46%, können Sie auch tun es anders herum.

.main-header{ 
 
color: #fff; 
 
background: #16a8ec; 
 
padding: 10px; 
 
height: 100vh; 
 
position: relative; } 
 

 
.wrapper{ 
 
position: absolute; 
 
top:46%; 
 
left: 46%; 
 
transform: translate(0px, 50%); /* i used transform but it doesn't work */ 
 
-webkit-transform: translate(0px, 50%); /* i used transform but it doesn't work */ }
<div class="main-header"> 
 
    <div class="wrapper">center div</div> 
 
</div>

0

Sie müssen nur top: 0; bottom: 0 wie diese zu Ihrem .wrapper hinzufügen:

.main-header{ 
 
color: #fff; 
 
background: #16a8ec; 
 
padding: 10px; 
 
height: 100vh; 
 
position: relative; } 
 

 
.wrapper{ 
 
position: absolute; 
 
left: 0px; 
 
right: 0px; 
 
transform: translate(0px, 50%); /* i used transform but it doesn't work */ 
 
-webkit-transform: translate(0px, 50%); /* i used transform but it doesn't work */ 
 
text-align: center; 
 
top: 0; 
 
bottom: 0; 
 
}
<div class="main-header"> 
 
    <div class="wrapper">center div</div> 
 
</div>

Sie auch diese Fiddle

überprüfen geben
0

Nur display: table zu Eltern und display: table-cell; vertival-align: middle; zu Kind, das für Sie arbeiten.

Arbeitsbeispiel.

<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <style> 
 
     .main-header { 
 
      color: #fff; 
 
      background: #16a8ec; 
 
      padding: 10px; 
 
      height: 100vh; 
 
      width: 100%; 
 
      display: table; 
 
     } 
 
     
 
     .wrapper { 
 
      display: table-cell; 
 
      vertical-align: middle; 
 
     } 
 
    </style> 
 
</head> 
 

 
<body> 
 
    <div class="main-header"> 
 
     <div class="wrapper">center div</div> 
 
    </div> 
 
</body> 
 

 
</html>

Verwandte Themen