Sto cercando di creare un semplice navigazione pagina composta di tre parti:CSS: come allineare gli elementi attorno a un elemento centrato?
- Alcuni numeri di pagina precedenti (se del caso)
- Il numero di pagina corrente (questo deve essere centrato)
- Alcuni imminente numeri di pagina (se presenti)
L'importante è che il numero di pagina corrente sia sempre centrato orizzontalmente nel contenitore padre. Le altre due parti dovrebbero occupare lo spazio orizzontale rimanente in modo uniforme.
Questo JSFiddle illustra i miei due tentativi di risolvere questo problema.
Soluzione 1: utilizzare text-align: center
. Questo raggiunge il risultato desiderato ma solo se entrambi i lati sono uguali in larghezza. In caso contrario, il numero di pagina corrente non sarà al centro.
HTML
<div class="container">
<input type="button" value="47">
<input type="button" value="48">
<input type="button" value="49">
<input type="text" size="5" maxlength="5" value="50">
<input type="button" value="51">
<input type="button" value="52">
<input type="button" value="53">
</div>
CSS
.container, input {
text-align: center;
}
Soluzione 2: utilizzare larghezze specificate manualmente per distribuire lo spazio orizzontale uniformemente. Centra efficacemente il numero di pagina corrente in tutte le circostanze, ma richiede una larghezza hardcode.
HTML
<div class="container">
<div class="left">
<input type="button" value="47">
<input type="button" value="48">
<input type="button" value="49">
</div>
<div class="right">
<input type="button" value="51">
<input type="button" value="52">
<input type="button" value="53">
</div>
<div class="center">
<input type="text" size="5" maxlength="5" value="50">
</div>
</div>
CSS
.left {
width: 40%;
float: left;
text-align: right;
}
.right {
width: 40%;
float: right;
text-align: left;
}
.center {
width: 20%;
margin-left: 40%;
}
Nessuna di queste soluzioni davvero fare quello che voglio. Esiste un modo per avere il numero di pagina corrente centrato consentendo agli altri elementi di allinearsi alle sue dimensioni naturali, piuttosto che a un pixel arbitrario o alla larghezza percentuale?
Ho suonato in giro con il vostro violino per mostrare funziona quando i lati sono irregolari, e con fare i lati bastone verso il centro (senza spazi) http://jsfiddle.net/aaa01Lh2/2/ bella soluzione ! –
Grazie, 'layout-tabella: risolto;' facendo il lavoro se richiesto. – Stickers