2016-10-21 2 views
1

Ich habe eine volle Breite Hintergrundbild mit etwas Inhalt. Am Ende möchte ich meine Tasten in der Mitte (vertikal und horizontal) positionieren, aber mit position:absolute, das funktioniert nicht. Sie können es in JSFiddle sehen.Responsive Positionierung in der Mitte

gibt es einige Codezeilen von meinem CSS

.buttons{ 
    position:relative; 
} 

.buttons .button-pos{ 
    width:100%; 
    position:absolute; 
    margin:auto; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
} 

Und es gibt wenig Schema das, was ich will. enter image description here

+0

Zusammen mit den @Johannes unten beantworten unten, können Sie einen Blick darauf werfen können [W3 Schools Artikel über das Zentrieren von Dingen] (https://www.w3.org/Style/Examples/007/center.en.html), der ziemlich alles erklären wird. – table

Antwort

1

Ich mache eine Lösung von mir selbst und es funktioniert jetzt sehr gut, ich beschloss, alle meine Inhalte zu zentrieren, was im Header war. Nur ein paar kleine Änderungen mit Bildschirmgrößen und es funktioniert gut :)

#welcome-header .welcome-content{ 
    width: 80%; 
    height: 400px; 
    position: absolute; 
    margin: auto; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
} 

.buttons{ 
    margin-top: 40px; 
} 

Wenn jemand etwas bessere Lösung erhalten, schreiben Sie es dort :)

+0

aber das ist nicht Zentrierung, das ist einfach Verschieben der '.buttons' divs Boden auf 10% über dem Containerboden. Es hat immer noch keine Höhe. Versuchen Sie, meine Antwort noch einmal zu überdenken. – Johannes

+0

@Johannes yeah Ich weiß, ich habe meine Antwort bearbeitet: D –

+0

?? 'margin-top: 40px' gibt' .buttons' keine Höhe (d. h. noch keine Zentrierung) – Johannes

2

1.) Ihre .buttons div nicht eine Höhe hat, so müssen Sie zunächst für eine Höhe definieren, sonst gibt es keine vertikal zentriert Möglichkeit (I machte es 200px in der Geige).

2.) .button-pos innerhalb .buttons zu zentrieren, verwenden

.button-pos { 
    width: 100%; 
    position:absolute; 
    top:50%; 
    left:50%; 
    transform: translate(-50%, -50%); 
} 

Hier ist die Geige: https://jsfiddle.net/Luo1k7Lt/1/

+0

Das funktioniert nicht ich auch. –

0

Try this:

.buttons .button-pos { display: inline-block; zoom: 1; }

Eine einfache IE-Hack ist display*: inline; hinzufügen in dieser CSS-Regel

+0

Hilft das? – NathanielSantley

+0

nein, es hilft nicht –

+0

Wirklich? huh ........ :-) – NathanielSantley

Verwandte Themen