2013-04-26 17 views
11

Ich habe ein absolut positioniertes Element mit Inhalt im Inneren. Es kann ein <h1> oder ein paar <p> Tag sein. Also ich kenne die Höhe des Inhalts nicht.Center Inhalt in einem absolut positionierten div

Wie kann ich vertikal den Inhalt innerhalb der absolut positionierten div zentrieren?

HTML:

<div id="absolute"> 
    <div class="centerd"> 
    <h1>helo</h1> 
    <span>hi again</span> 
    </div> 
</div> 

CSS:

#absolute { 
    position:absolute; 
    top:10px; 
    left:10px; 
    width:50%; 
    height:50%; 
    background:yellow; 
} 

.centerd { 
    display:table-cell; 
    vertical-align:middle; 
} 

Fiddle

Antwort

11

wenn Sie display:table zu Ihrem #absolute hinzufügen div sollten Sie bekommen, was Sie wollen:

http://jsfiddle.net/3KTUM/2/

+0

dieses Zentrum nicht den Inhalt .. es macht den Inhalt * Start * vom Zentrum –

+0

@ExplosionPills für mich den Inhalt zum Zentrum scheint - versuchen, mehr Inhalt in und Sie hinzufügen sieht, dass es vertikal ausgerichtet bleibt, nicht von der Mitte aus. Sie können denken, dass es in der Mitte beginnt, da die h1 natürliche obere Polsterung hat, die es nach unten drückt – Pete

5

Ihre #absolute div ändern auch verwenden, um: die div relative seiner absolute Mutter

display:table; 
vertical-align:middle; 
text-align:center; 

http://jsfiddle.net/3KTUM/4/

2

einfach herzustellen und verwenden text-align: center, wie folgt aus:

.centerd { 
    position: relative; 
    width: 100%; 
    text-align: center; 
    /*display:table-cell; 
    vertical-align:middle;*/ 
} 

Siehe example fiddle

1

Verwendung text-align: center oder links: 50%

1

Dies kann auch mit Flexbox erfolgen:

#absolute { 
    align-items: center; 
    display: flex; 
    justify-content: center; 
} 
0

Horizontale und vertikale Position absolute Mitte.

.center { 
 
    position: absolute; 
 
    top: 50%; 
 
    left: 50%; 
 
    transform: translate(-50% , -50%); 
 
    -webkit-transform: translate(-50%, -50%); 
 
}
<div class="obj"> 
 
    <div class="center">Test</div> 
 
</div>

Verwandte Themen