Se si lavora con i browser moderni è possibile utilizzare il modulo di layout FlexBox: http://caniuse.com/#feat=flexbox.
Flexbox documentazione: developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes~~V~~singular~~3rd
Nota: Non è possibile inserire più di due collegamenti a causa di mio rappresentante.
JSFiddle.
(utilizzando un tag al posto di un div#footer
footer
come è più semplice.)
<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
'centri' l' infanzia, che è solo l'elemento footer
in questo caso.
Questo è molto simile alla soluzione di Nick N., ad eccezione del fatto che non è necessario ripristinare la proprietà text-align
sul piè di pagina e che questo è probabilmente il modo non-'trick 'desiderato.
La soluzione accettata è leggermente disattivata poiché la larghezza del piè di pagina in questo caso è variabile (80%) anziché a 500px.
Per altri lettori, se il genitore è un elemento form
, e il bambino è un elemento input
, utilizzare flex: 1;
sull'elemento input
(bambino), e utilizzare max-width: 500px;
invece di width: 500px;
.L'utilizzo di flex: 1;
dovrebbe rendere l'elemento input
espandibile per riempire la larghezza dell'elemento form
, che altrimenti non potrebbe essere.
posizione: fissa e margine: auto; non funzionano bene insieme, sto lavorando a una soluzione per te. –