#html #css
#HTML #css
Вопрос:
привет, я использую функцию усечения, чтобы отрезать свой текст.
я могу получить ожидаемый результат, но нуждается в некотором стилизации, не уверен, как это сделать.
текущий вывод :
…texttext
ожидаемый результат:
… texttext
мне нужно добавить пробел после этих 3 точек перед текстом. кто-нибудь может помочь с этим
я использую следующий код,
.title{
font-size: 8pt;
direction: rtl;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-weight: bold;
text-indent:2px;
}
Ответ №1:
Не уверен, что этого можно достичь с помощью чистого CSS. Однако вы могли бы применить некоторую логику javascript для проверки и размещения класса следующим образом:
var p = document.querySelector(".title");
if (p.scrollWidth > p.offsetWidth) p.classList.add("ellipsis");
while (p.scrollWidth > p.offsetWidth) {
p.innerHTML = p.innerHTML.slice(0, -1);
}
p {
width: 50px;
border: 1px solid;
padding: 2px 5px;
/* BOTH of the following are required for text-overflow */
white-space: nowrap;
overflow: hidden;
}
.ellipsis:after {
content: " ... "
}
<body>
<p class="title">
Testing overflow: look at me ! Testing overflow: look at me !Testing overflow: look at me !
</p>
</body>