Как я могу рендерить <li>бок о бок? - PullRequest
28 голосов
/ 27 мая 2010

Я хочу создать меню навигации с элементами списка, отображаемыми в одну строку. Как мне это сделать?

Ответы [ 8 ]

42 голосов
/ 27 мая 2010
li {
    display: inline;
}

РЕДАКТИРОВАТЬ: Теперь я понимаю, почему я чувствовал странный ответ с display: inline: потому что я обычно использую float: left вместо себя, что является ответом Энтони-Арнольда (так к нему идет мое возражение!).

В любом случае, хотя любой из этих методов приведет к отображению li в одной строке, встроенные элементы и плавающие элементы будут вести себя по-разному. В зависимости от стиля макета вам может потребоваться выбрать один или другой.

16 голосов
/ 27 мая 2010

Вы также можете сделать это, для некоторых ситуаций:

li {
    float: left;
}
8 голосов
/ 27 мая 2010

Мой любимый способ сделать это - использовать, потому что он позволяет использовать ширину, высоту, поля и отступы:

li { display: inline-block; }

Но есть некоторые проблемы с рендерингом в IE, чтобы исправить использование (порядок важен):

li 
{ 
  display: inline-block; 
  zoom: 1;
  *display: inline;
}
3 голосов
/ 27 мая 2010

Один из лучших ресурсов по теме - http://css.maxdesign.com.au/listamatic/ (хотя и немного устаревший).

Они предлагают li {display: inline;} и li {float: left;} в зависимости от желаемого эффекта.

Посмотрите, например, их "Простой горизонтальный список" http://css.maxdesign.com.au/listamatic/horizontal01.htm

1 голос
/ 27 мая 2010

Вы попробуете этот стиль

li{
height:20px;
float:left;
list-style-type: none;
width:70px;
padding:3px;
border-right:1px solid #3687AF;
background-color: #015287;
background-repeat: no-repeat;
background-position: center 30px;
} 

это точно будет работать ...

1 голос
/ 27 мая 2010
ul {display: inline;} 
ul li { list-style: none;display: inline;}
0 голосов
/ 26 июня 2019
ul {
    float: right;  to <li> go to the Right or Left side
}

ul li {
    display: inline-block;
    padding: 10px;
    margin-top: 5px;
}

Если вы используете «float:» в «li», список будет инвертировать последовательность.

0 голосов
/ 27 мая 2010

Вы можете сделать:

li {
    float: left;
    display: inline;
}

Если вы хотите сохранить характеристики блока, но по-прежнему должны быть рядом, вы можете сделать:

li {
    float: left;
    display: inline-block;
}
...