Задать вопрос
Novitsky
@Novitsky
Веб-разработчик, дизайнер, фотограф

Почему не работает text-overflow?

Здравствуйте.

Почему-то не работает text-overflow. Вернее, текст обрезается, но не так — не добавляется многоточие в конце.

Пример:
<nav>
  <ul>
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li class="clip"><a href="#">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</a></li>
    <li class="last-child">
      <a class="first-child-a" href="#">Link 4</a>
      <a href="#">Link 5</a>
    </li>
  </ul>
</nav>

body {
  margin:0;
}
nav {
	background-color:whitesmoke;
}
ul {
	display:-webkit-flex;
	display:   -moz-flex;
	display:    -ms-flex;
	display:        flex;

	margin:0;
	padding:0;
	width:100%;

	list-style:none;

	-webkit-justify-content:flex-start;
	   -moz-justify-content:flex-start;
	    -ms-justify-content:flex-start;
	        justify-content:flex-start;
}
ul li {
	display:-webkit-flex;
	display:   -moz-flex;
	display:    -ms-flex;
	display:        flex;

	margin:0 1rem 0 0;
}
ul li a {
	padding:.3rem .5rem;

	background-color:lightgrey;
}
ul li:last-child {
	margin:0;
}
.clip {
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
ul li:nth-last-child(2) {
  -webkit-flex-grow:1;
	   -moz-flex-grow:1;
	    -ms-flex-grow:1;
	        flex-grow:1;
}
.first-child-a {
  margin-right:1rem;
}

Живой пример.
  • Вопрос задан
  • 7012 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
@GreatRash
1) Если вы кроссбраузерно хотите флексы объявить, то неправильно это делаете:

ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}


2) Для li тоже самое повторять не надо.
3) Для того, чтоб text-overflow сработал должна быть ширина задана явно (хотя бы максимальная).

Не знаю этого ли вы хотели добиться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы