Задать вопрос
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;
}

Живой пример.
  • Вопрос задан
  • 6990 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
@GreatRash
1) Если вы кроссбраузерно хотите флексы объявить, то неправильно это делаете:

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


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

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

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

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