Я пытаюсь получить горизонтальный список css, который не должен обертываться, если ширина div контейнера меньше. Например, взгляните на эту скрипку:
Поскольку вы можете видеть только два элемента: Lorem Ipsum видна, поскольку последние несколько букв Dolor не могут быть размещены внутри div, поэтому список завернут. Но я хочу, чтобы все было в одной строке, даже если некоторый текст обрезается. Например, выход, который я желаю, это "Lorem Ipsum Dol" или что-то еще, и остальная часть текста должна переполняться за пределы div.
Я пробовал различную комбинацию
white-space: nowrap;
display: inline-block;
float: left;
Но достичь желаемого результата не удалось.
Примечание. Я достиг результата с помощью таблицы, но мне просто интересно узнать, что я делаю неправильно здесь.
Редактировать: Я думаю, я не был ясно в своем посте. Я должен установить ширину таблицы, на самом деле пользователь установит ширину таблицы во время выполнения, у меня есть такой интерфейс. И хотя установка ul width решает проблему, но количество элементов полностью динамично. Поэтому я не могу просто установить ширину.
просто делать
.LongList ul li {
display: inline-block; /* add this , remove float and its done */
}
Вы должны использовать set overflow:hidden
и display:inline-block
для решения этой проблемы,
.LongList ul {
margin: 0;
padding: 0;
height: 21px;
display: inline-block;
overflow:hidden;
}
Вы можете проверить это, чтобы увеличить width: 150px
до 250px
в .LongList{}
еще ul
список display inline block
.
Другой способ, которым вы можете архивировать, используя display:inline-block
в .LongList ul li{}
class,
.LongList ul li{
display: inline-block; // Add new
float: left; // Remove this
}
Надеюсь, это поможет вам!
when you extend last word it goes on next line which he does not want.
я исправил вашу скрипку и удалил ненужные правила. Проверьте это.
.LongList
{
margin: 0;
display: block;
height: 21px;
padding: 5px;
background: #fff;
border: 2px solid #000;
}
почему вы дали эту ширину
<table cellpadding="0" cellspacing="0" border="0" width="160px">
удалить эту ширину
и в css, дайте width:auto
.LongList
{
margin: 0;
float: left;
display: block;
height: 21px;
width: auto;
overflow: hidden;
padding: 5px;
background: #fff;
white-space: nowrap;
border: 2px solid #000;
}
he desired clipped output in a container , not auto width
ul
jsfiddle.net/s5PBZ/2