Próbuję utworzyć prostą nawigację dokumentu składającego się z trzech części:CSS: Jak wyrównać elementy wokół środkowego elementu?
- Kilka poprzednich numerów stron (jeśli istnieją)
- Bieżący numer strony (to musi być wyśrodkowany)
- Kilka Nadchodzący numery stron (jeśli występują)
Ważne jest, aby aktualny numer strony był zawsze poziomo wyśrodkowany w kontenerze nadrzędnym. Pozostałe dwie części powinny równomiernie zająć pozostałą przestrzeń poziomą.
Ten JSFiddle ilustruje moje dwie próby rozwiązania tego problemu.
Rozwiązanie 1: użyj text-align: center
. Osiąga to pożądany wynik, ale tylko wtedy, gdy obie strony mają równą szerokość. Jeśli nie, aktualny numer strony nie będzie znajdować się pośrodku.
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;
}
Roztwór 2: wykorzystanie określonych szerokościach ręcznie rozprowadzić poziomej powierzchni równomiernie. Skutecznie centruje bieżący numer strony we wszystkich okolicznościach, ale wymaga szerokości kodu.
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%;
}
Żadne z tych rozwiązań naprawdę robić, co chcę. Czy istnieje sposób centrowania bieżącego numeru strony przy jednoczesnym umożliwieniu wyrównania innych elementów do ich naturalnego rozmiaru, a nie do arbitralnego piksela lub szerokości procentowej?
Grałem około z skrzypce, aby pokazać, że działa, gdy boki są nierówne, a co z boki trzymać środku (bez spacji) http://jsfiddle.net/aaa01Lh2/2/ Nicea rozwiązanie ! –
Dzięki, to jest "table-layout: fixed;' wykonuję zadanie, jeśli zapytałeś. – Stickers