display: table;で横並びにした要素を、個数に関係なく幅を均等にしてみます。
幅均等化対応前のサンプル
display: table-cell;を指定した要素に特に幅の指定をしなかった場合のサンプルです。
HTML
<div class="nav"> <div class="nav-item"><a href="">cly7796.net</a></div> <div class="nav-item"><a href="">HTML・CSS</a></div> <div class="nav-item"><a href="">JavaScript</a></div> <div class="nav-item"><a href="">jQuery</a></div> <div class="nav-item"><a href="">AngularJS</a></div> <div class="nav-item"><a href="">PHP</a></div> <div class="nav-item"><a href="">CMS</a></div> <div class="nav-item"><a href="">SEO</a></div> <div class="nav-item"><a href="">スマートフォン</a></div> <div class="nav-item"><a href="">その他</a></div> </div> <div class="nav"> <div class="nav-item"><a href="">cly7796.net</a></div> <div class="nav-item"><a href="">HTML・CSS</a></div> <div class="nav-item"><a href="">JavaScript</a></div> <div class="nav-item"><a href="">PHP</a></div> <div class="nav-item"><a href="">CMS</a></div> <div class="nav-item"><a href="">SEO</a></div> <div class="nav-item"><a href="">スマートフォン</a></div> </div>
CSS
.nav {
display: table;
width: 100%;
margin-bottom: 10px;
}
.nav-item {
display: table-cell;
border-right: #666666 1px solid;
background: #333333;
}
.nav-item a {
display: block;
padding: 10px;
text-align: center;
color: #ffffff;
text-decoration: none;
}
幅均等化対応前のデモページ
この場合、display: table-cell;を指定した要素の内容量によって、各要素の幅が自動で決まります。
幅均等化対応後のサンプル
display: table;を指定している要素にtable-layout: fixed;を指定することで、子要素の幅を均等化できます。
CSS
.nav {
display: table;
width: 100%;
margin-bottom: 10px;
/* 子要素の幅の均等化 */
table-layout: fixed;
}
コメントが承認されるまで時間がかかります。