У меня есть строка текста, вокруг которой я хочу нарисовать границы. На данный момент разметка выглядит так:
<div id="titleBox"><span id="titleName" class="truncate">Really really long long long title name</span></div>
Стиль выглядит так:
#titleBox{
margin-top: 10px;
}
#titleName{
margin: 5px;
height: 1.6em;
width: auto;
max-width: 15.385em;
padding: 0.369em;
margin: 0.369em;
line-height: 1.7;
color: rgba(0,0,0,0.4);
background-color: rgba(204,204,204,0.4);
border: 3px solid rgba(255,255,255,0.14);
font-size: 153.9%;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
.truncate {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-ms-text-overflow: ellipsis;
-o-text-overflow: ellipsis;
-moz-binding: url('../templates/ellipsis.xml#ellipsis');
}
Эффект, который я хотел бы получить, состоит в том, что я хотел бы, чтобы стилизованное поле соответствовало ширине текста, если ширина не превышает определенный предел. Тогда я бы хотел, чтобы ширина была ограничена, а затем включился бы класс усечения.
Проблема только с использованием div заключается в том, что поле не переносится по ширине текста. Использование интервала помогает, но тогда оно не отображается как блок. Принудительное отображение его в виде блока представляет собой ту же проблему, что и оборачивание его в простой div. Использование комбинации div / span также не работает, потому что span игнорирует границы div, если текст слишком длинный.
Есть ли способ ограничить ширину текста, заставляя его обрезаться и иметь стилизованный прямоугольник, окружающий текст?