スマホサイト制作でこのようなデザインを実装する場合、 テキスト位置の調整を考えると、displayプロパティが便利です。 セル間隔をmarginで調節したいところですが、table-cell に margin は無効です。
そこで、border-collapse で dasplay: table のセル間隔を調整したいと思います。 border-collapse でセルのボーダーを重ねるか間隔を空けるかを、 border-spacing でどれぐらい空けるのか指定できます。単位はpxやem、exなどです。 このプロパティは display: table を指定したクラスに追加します。
■html
<section class="pagelist"> <ul class="tab-area"> <li class="tab-link now radius-large-top"><a href="link01.html">リンク1</a></li> <li class="tab-link other radius-large-top"><a href="link02.html">リンク2</a></li> <li class="tab-link other radius-large-top"><a href="link03.html">リンク3</a></li> <li class="tab-link other radius-large-top"><a href="link04.html">リンク4</a></li> </ul> </section>
■css
.tab-area {
display: table;
margin: 0 auto;
border-collapse: separate; /* セルの間隔を空ける */
border-spacing: 2px 0; /* 左右 上下で記述 */
}
.tab-link {
display: table-cell;
vertical-align: middle;
width: 71px;
text-align: center;
}
.tab-area a {
display: block;
padding: 8px 0;
}
.tab-area .now {
background-color: rgb(0,89,178);
border-top:solid 1px rgb(0,89,178);
border-left:solid 1px rgb(0,89,178);
border-right:solid 1px rgb(0,89,178);
font-size: 108%;
color: #fff;
}
.tab-area .now a {
width: 71px;
color: rgb(255,255,255);
}
.tab-area .other {
background-color: rgb(246,246,246);
border-top:solid 1px rgb(236,236,236);
border-left:solid 1px rgb(236,236,236);
border-right:solid 1px rgb(236,236,236);
font-size: 108%;
color: rgb(51,51,51);
}
.tab-area .other a {
width: 71px;
color: rgb(51,51,51);
}
先ほどのページに border-collapse: separate を追加すると このようにセル間隔を調整することができました。
