CSS/JS показывают только целые слова, которые соответствуют контейнеру
Я нашел эту статью
https://justmarkup.com/log/2015/07/dealing-with-long-words-in-css/
и мне интересно, как заставить отображать целое слово, если оно подходит к контейнеру:
например.
some long sentence
он может отображаться как
some long s...
слово sentence
не подходит, поэтому я хочу скрыть его и показать только:
some long
my current css (добавляет ...
)
.short {
max-width: 250px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Ответы
Ответ 1
Вы можете попробовать следующее:
.element{
display: block;
width: 100px;
overflow: hidden;
word-wrap: break-word;
text-overflow: ellipsis;
max-height: 16px;
line-height: 16px;
}
<div class="element">some long string</div>
Ответ 2
Вы можете ограничить текст определенным количеством символов. Затем вам нужно найти последний индекс символа пробела и снова ограничить текст, используя этот индекс.
Вот пример кода:
function limitText(text, maxLength) {
if (text.length <= maxLength) {
return;
}
text = text.substr(0, maxLength);
var lastSpace = text.lastIndexOf(' ');
return text.substr(0, lastSpace) + '...';
}
limitText('Lorem ipsum dolor sit amet, consectetuer adipiscing elit.', 20);
Если вы хотите ограничить количество слов, вы можете использовать этот код:
var maxWords = 4;
var text = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
var newText = text.split(' ').slice(0, maxWords).join(' ');
Ответ 3
Попробуйте это,
div{
white-space: nowrap;
width: 70px;
overflow: hidden;
}
div > p{
white-space: nowrap;
width: 70px;
overflow: hidden;
}
<div><p>some long sentences</p></div>
<div>some long sentences</div>
Ответ 4
Просто перелейте текст
.short {
max-width: 250px;
height: 1em;
overflow: hidden;
position: relative;
}