Многоточие не работает
У меня есть следующий код:
.biz-desc {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}
<div class="section-segment">
<span class="biz-desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent faucibus nisi non tellus pharetra, nec tempus mi fringilla. Vestibulum consequat dolor sit amet orci suscipit, id facilisis metus tempus. Maecenas in massa eget nisl porttitor molestie id ut velit. Nullam quis purus porttitor neque fermentum dignissim quis nec felis. Aenean non maximus quam, sit amet tincidunt sapien. Nam ut gravida libero. Quisque tortor ante, maximus sit amet nunc at, convallis posuere felis. Proin venenatis sit amet metus eu porta.</span>
</div>
Моя идея заключается в том, что описание будет усечено и будет отображать три точки (...), когда текст слишком длинный для экрана.
Это не работает, однако. Я просто получаю длинный текст, который выходит из div
граница
Я пытался добавить max-width: 600px;
в .biz-desc
но безрезультатно.
Может кто-нибудь увидеть в чем проблема или подсказать, как добиться этого скромного требования?
4 ответа
С веб-страницы MDN для переполнения текста (жирный шрифт добавлен для выделения):
Это свойство влияет только на содержимое, которое переполняет элемент контейнера блока в его линейном направлении продвижения
Вам необходимо подать заявку text-overflow
к блок-контейнеру, но вы применяете его к встроенному контейнеру (span
). Вы можете решить проблему двумя разными способами:
Сделать
span
иметь отображениеblock
/inline-block
:Или применить
text-overflow
кdiv
вместоspan
max-width
игнорируется inline
элементы.
Для этого есть четыре возможных решения:
либо вы применяете CSS к
.section-segment
вместо.biz-desc
или вы добавляете
biz-desc
класс к<div>
(<div class="section-segment biz-desc">
)или вы добавляете
display: block;
или жеdisplay: inline-block;
к правилам CSSили вы меняете
<span>
к элементу уровня блока, как<p>
или же<div>
,
По моему личному опыту я предлагаю вам просто поставить text-overflow
к <div>
тег.
Проблема в том, чтобы <span>
тег там.
Все, что вам нужно сделать, это изменить класс и свойство max-width следующим образом:
.section-segment{
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}
Или в качестве альтернативы
.biz-desc{
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: 600px;
}