2014-03-26 8 views
13

So zentrieren Sie ein Element "position: absolute" in IE 9, 10, 11, mein Beispiel funktioniert nicht im Internet Explorer. Auch diese "Position: absolut; links: 50%; Rand links: -20px;" , die Art und Weise wird mir nicht passen, da das Layout reagiert.So zentrieren Sie ein Element "position: absolute" in IE 9,10,11

.box{ 
    position: absolute; 
    top: 150px; 
    right: 0; 
    left: 0; 
    margin: auto;  
} 

<body> 
<div class="container"> 
<div class="box"> 
</div> 
</div> 
</body> 
+0

Html-Code bitte, und Geige wenn möglich –

+0

Bearbeitete die Frage! – user3351236

+0

zentrieren Sie das div in der Seite .. Überprüfen Sie den Link. http://jsfiddle.net/mBBJM/1/ –

Antwort

19
<body> 
<div class="container"> 
<div class="box"> 
</div> 
</div> 
</body> 

CSS

.box{ 
    position: absolute; 
    top:0; 
    right: 0; 
    left: 0; 
    bottom:0; //specify all including bottom:0 
    margin: auto; 
    height:200px; 
    width:200px;  
} 

DEMO

+21

Funktioniert nicht mit max-width, benötigt eine feste Breite. –

+1

Hinzufügung der Unterseite arbeitete für mich !! – zuke

+0

@zuke: das ist schön :) –

2

Es funktioniert hier Jsfiddle

.box{ 
position: absolute; 
top: 150px; 
right: 0; 
left: 0; 
margin: auto; 
border: 2px solid red;  
width: 50px; 
height: 50px; 
} 
3

Gib ihm einfach eine feste Breite und Höhe und entferne oben: 150px

+4

Sie können Breite und Höhe mit 100% hinzufügen, wenn Sie keine bestimmte Größe haben. Funktioniert auch in IE. – sircrom

+0

@sircrom Wow ich habe Stunden damit verbracht, dieses Thema zu googeln, hätte nie gedacht, dass es so einfach zu beheben wäre! – camdenl

1

Ich habe gerade mit diesem selbst gekämpft, und der spezifische Schlüssel für mich war die max-width Eigenschaft zu ändern, um eine width Eigenschaft zu sein. Hinzufügen einer maximalen Breite bricht es nicht, aber es beruht auf der width -Eigenschaft in IE, wo anscheinend in Firefox es nur mit der maximalen Breite funktioniert.

Ich hoffe, das hilft jemand anderem!

+0

Oh, ich habe gerade Dominiques Kommentar gesehen! Oh! – SeanKendle

+0

Arbeitete perfekt! Vielen Dank! –

0

Sie sollten keine untere Eigenschaft (even in IE) festlegen müssen, um dieses Element horizontal zu zentrieren.

Wenn Sie jedoch das Element vertikal zentrieren möchten, benötigen Sie die Eigenschaft bottom in Verbindung mit einem automatischen Rand für den oberen und unteren Rand.

Wenn Ihr Element nur horizontal zentriert wird, wenn "bottom" auf 0 gesetzt ist, besteht ein Konflikt mit Ihrem Code, der Sie zwingt, diese Eigenschaft zu verwenden. Ich habe gesehen, dass dies vorher in Bootstraps Ecosystem geschehen ist, wenn nicht die richtige Hierarchie von Container -> Zeile und so weiter angewendet wird.

Verwandte Themen