私は三つの部分からなる単純なページナビゲーションを作成しようとしています:CSS:中心要素の周りに要素を揃える方法は?
- いくつか前のページ番号(もしあれば)
- 現在のページ番号(これはセンタリングされなければならない)
- いくつかの今後のページ番号(存在する場合)
重要なことは、現在のページ番号が親コンテナ内で常に水平に中央揃えされていることです。他の2つの部分は、残りの水平スペースを均等に占める必要があります。
このJSFiddleは、この問題を解決するための私の2つの試みを示しています。
解決策1:text-align: center
を使用してください。これにより、両方の辺の幅が等しい場合にのみ、望ましい結果が得られます。そうでない場合、現在のページ番号は中央にはありません。
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;
}
溶液2:均等水平スペースを分配するために、手動で指定された幅を使用します。これにより、すべての状況で現在のページ番号が効果的に集中しますが、幅をハードコードする必要があります。
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>
.left {
width: 40%;
float: left;
text-align: right;
}
.right {
width: 40%;
float: right;
text-align: left;
}
.center {
width: 20%;
margin-left: 40%;
}
どちらもこれらのソリューションのCSSは本当に私がやりたいです。現在のページ番号を中央に置く方法はありますか?他の要素は、任意のピクセルまたはパーセント幅ではなく、自然なサイズに揃えることができますか?
は、私はそれが側面に凹凸があるときに動作し、側面は中間の(スペースなし)http://jsfiddle.net/aaa01Lh2/2/ニースのソリューションに固執することを示すためにあなたのフィドルと遊ん! –
ありがとう、それは 'table-layout:fixed;'と頼んだときに仕事をしています。 – Stickers