Предотвратить переполнение текста в контейнере с отступами в HTML - PullRequest
16 голосов
/ 10 октября 2011

У меня такая ситуация:

<div style="width: 100px; padding: 5px 15px 5px">Some text longer than 100px</div>

Если я установлю переполнение: скрытый в div текст будет по-прежнему выходить за пределы области в 15 пикселей справа:

++----------------------------+------+
++----------------------------+------+
||This text should stop here -| but i|
++----------------------------+------+
++----------------------------+------+

Можетэто должно быть сделано, не помещая дополнительный элемент внутрь, чтобы держать текст.Подойдет любое решение в любом браузере, я просто хочу знать, возможно ли это.

Ответы [ 3 ]

30 голосов
/ 12 марта 2013

Вы можете использовать прозрачную рамку, чтобы сделать поле, которое вы хотите.Не будет переполнено:

div {
    white-space: nowrap;
    overflow: hidden;
    max-width: 300px;
    border-left:1em solid transparent;
    border-right:1em solid transparent;
    text-overflow: ellipsis;
}
15 голосов
/ 10 октября 2011

вы пробовали:

word-wrap:break-word;

автоматически переводит слово в следующую строку при достижении конца.

0 голосов
/ 10 октября 2011

Эй, я не знаю точно о вашем требовании, есть один способ обрезать текст с помощью свойства css3 ellipsis.

Пример

а) Нормальный случай

+-------------------------++
some text which is exceeding the container
+-------------------------++

б) После внедрения многоточия

+-------------------------++
some text which is exceed...
+-------------------------++

Вот ссылка: https://developer.mozilla.org/En/CSS/Text-overflow, в которой также есть информация о поддержке браузера.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...