Это просто сделать с CSS2:
ul {
display: table;
width: 100%;
}
li {
display: table-cell;
}
a {
display: block;
}
Вот рабочий пример . Проблема не столько в том, что у CSS2 нет способа это сделать, а в том, что IE не полностью поддерживал CSS2 до версии 8.
- редактирование
Хорошо, теперь я думаю, что понимаю ваши требования:
ul {
display: table;
width: 100%;
border: 0;
padding: 0;
background-color: blue;
}
li {
display: table-cell;
border: 0;
padding: 0;
text-align: center;
}
li:first-child {
text-align: left;
}
li:last-child {
text-align: right;
}
a {
display: block;
padding: 0.25em 0;
background-color: white;
text-decoration: none;
}
Вот оно в действии . Я обнулел все границы и отступы согласно вашим комментариям, вы можете добавить некоторые обратно, но вам, конечно, нужно обнулить левую границу / отступ первой ссылки и правую границу / отступ правой ссылка, использующая либо li:first-child
, либо li:first-child a
(и противоположные last-child
единицы).