<li>
является элементом уровня блока, поэтому значения по умолчанию должны быть максимально широкими.
Чтобы «сжать» размер содержимого, попробуйте добавить его:
li {
float:left;
clear:left;
}
Это может сделать то, что вы ищете.
Если вы хотите, чтобы <li>
сидели рядом друг с другом, вы можете попробовать:
ul {
clear: left; /* I like to put the clear on the <ul> */
}
li {
float: left;
}
OR
li {
display: inline
}
Делая это inline
убирает его статус уровня блока, поэтому он действует как <span>
или любой другой встроенный элемент.