Идеально для таких случаев подходит
flex — ведь эта модель представления и разработана именно для гибких сеток. Для старых
webkit и не совсем старых
IE нужно смотреть старый синтаксис.
HTML (допустим, 5 колонок)
<div class="menu">
<div class="menu-item">...</div>
<div class="menu-item">...</div>
<div class="menu-item">...</div>
<div class="menu-item">...</div>
<div class="menu-item">...</div>
</div>
Вариант с фиксированной шириной.menu {
display: flex;
justify-content: space-between;
}
.menu-item {
flex-basis: 15%;
}
Вариант с фиксированным расстоянием между колонками.menu {
display: flex;
justify-content: space-between;
}
.menu-item:nth-child(n + 2) {
margin-left: 30px;
}
Для совсем старых ослов есть полифилл, но только для фиксированной ширины
Добро пожаловать в АД.menu {
text-align: justify;
text-justify: newspaper;
font-size: 0;
}
.menu:after {
content: "";
display: inline-block;
width: 100%;
}
.menu-item {
display: inline-block;
width: 15%;
font-size: 1rem;
}