#html #css
#HTML #css
Вопрос:
Как мне запретить white-space: nowrap;
внутри <p>
тега помещать разрыв строки в начале диапазона с помощью CSS?
Я хочу поставить многоточия в последней строке выдержки из результатов поиска, Чтобы это выглядело красиво на рабочем столе, мобильном устройстве и т. Д.
Я читал о решениях, которые используют для этого вычисления высоты строки, но это кажется хрупким и, возможно, хакерским.
Я думаю, что если я сделаю две области содержимого и добавлю text-overflow: ellipsis;
вторую, я получу желаемый эффект.
Моя проблема в том, что когда я white-space: nowrap;
включаю его, он помещает разрыв строки в начало диапазона. 🙁
Совет шляпы @DaniP за то, что он поставил проблему на скрипку!
Вот мой шаблон результатов поиска:
<a href="/some-url/" class="search-result">
<div class="well">
<h4>title</h4>
<p>See All Selfies Taken with iPhone Camera
Ready to see every selfie taken with the iPhone camera on a device? Here’s all you need to do:
1 Open the Pho<span>tos app as usual but tap on the “Albums” button
2 From the “Albums” view (tap back to Albums if you’re in Camera Roll), scroll down to find the “Sel</span></p>
</div>
</a>
Вот sass
.search-result {
p {
overflow: hidden;
text-overflow: ellipsis;
span {
white-space: nowrap;
}
}
}
И вот как это выглядит:
title
See All Selfies Taken with iPhone Camera Ready to see every selfie taken with the iPhone camera on a device? Here’s all you need to do: 1 Open the Ph
tos app as usual but tap on the “Albums” button 2 From the “Albums” view (tap back to Albums if you’re in Camera Roll), scroll down to find the “Sel
Вот как я хочу, чтобы это выглядело после white-space: nowrap;
(без разрыва строки)
title
See All Selfies Taken with iPhone Camera Ready to see every selfie taken with the iPhone camera on a device? Here’s all you need to do: 1 Open the Photos app as usual but tap on the “Albums” button 2 From the “Albums” view (tap back to Albums if you’re in Camera Roll), scroll down to find the “Sel
Комментарии:
1. Я запустил его на скрипке, он не вставляет туда никакого разрыва строки jsfiddle.net/cLk2kx02
2. @AjayPal для использования этого кода вам нужен scss jsfiddle.net/cLk2kx02/1
Ответ №1:
Он не помещает разрыв строки. Он создает длинную неразрывную текстовую строку, похожую на «большое слово», поэтому предыдущий текст прерывается. Поместите white-space: nowrap;
для <p>
элемента.
Комментарии:
1. Спасибо, что взглянули! Мне нужно поведение переноса для элемента p, чтобы получить желаемый эффект.
2. Должен ли многострочный текст предварительно сохраняться как многострочный? Потому что на данный момент это не так, и нет «последней строки», как вы упомянули. Вы хотите поставить три точки в конце вашего элемента span и все?
3. Я хочу иметь несколько строк текста (может быть, 3?), А затем многоточия в конце последней строки. Когда на мобильном устройстве, возможно, это будет больше похоже на 5 строк. Я не хочу, чтобы это было только в конце, потому что конец может быть в середине строки или в начале и т. Д. Я хочу, чтобы многоточия были в конце последней строки (хотя, как вы упомянули, их не существует_
4. Вот так?
span:after { content: "..."; }
5. спасибо, что посмотрели еще раз. Я хочу, чтобы это работало так jsfiddle.net/cLk2kx02/1 но без разрыва строки на промежутке.