Jeśli pracujesz z nowoczesnych przeglądarek, można użyć modułu układu schematu flexbox: http://caniuse.com/#feat=flexbox.
schematu flexbox dokumentacja: developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes
Uwaga: Nie można dodawać więcej niż dwa linki z powodu mojego rep.
JSFiddle.
(Korzystanie z footer
tag zamiast div#footer
jak to prostsze.)
<div id="footer-container">
<footer>hello world</footer>
<div>
#footer-container {
bottom: 20px;
position: fixed;
display: flex;
justify-content: center;
width: 100%;
}
footer {
width: 500px;
background-color: red;
}
justify-content: center;
#footer-container
„s children 'centra', która jest po prostu elementem w tym przypadku footer
.
Jest to bardzo podobne do rozwiązania Nicka N., z tym że nie trzeba resetować właściwości text-align
w stopce, i że jest to prawdopodobnie sposób, który nie jest "sztuczny".
Przyjęte rozwiązanie jest nieznacznie wyłączone, ponieważ szerokość stopki w tym przypadku jest zmienna (80%) zamiast przy 500px.
do innych czytelników, jeśli rodzic jest elementem form
, a dziecko jest elementem input
, użyj flex: 1;
na (dziecko) elementu input
i używać max-width: 500px;
zamiast width: 500px;
.Użycie numeru flex: 1;
powinno spowodować rozwinięcie elementu input
w celu wypełnienia szerokości elementu form
, co w przeciwnym razie mogłoby nie spowodować.
pozycja: stała i margines: auto; nie pracuję dobrze razem, pracuję nad rozwiązaniem dla ciebie. –