У меня есть простой html с div, ограниченным шириной. Внутри у меня есть много span
тегов, которые настроены с nowrap
. Мой CSS:jQuery.insertBefore не уважает разрыв строки
.content {
width: 50%;
margin: 10px;
padding: 10px;
border: 1px solid black;
}
.adder {
color: blue;
cursor: pointer;
}
.added {
position: relative;
white-space: nowrap;
}
И мой HTML:
<div class="content">
<span class="added">A text just a little large 1.</span>
<span class="added">A text just a little large 2.</span>
<span class="added">A text just a little large 3.</span>
<span class="added">A text just a little large 4.</span>
<span class="added">A text just a little large 5.</span>
<span class="adder">Add</span>
</div>
Как и ожидалось, текст разбивается, когда нет больше места в очереди, чтобы быть размещены. Затем весь текст span
отображается на следующей строке. Теперь я добавил яваскрипт кода:
$(function() {
$(".adder").click(function() {
$(document.createElement("span"))
.addClass("added")
.html("A custom text to be add,")
.insertBefore(this);
});
});
Итак, теперь новый span
помещается перед Add
текстом каждый раз, когда я нажимаю на Add
.
Но проблема в том, что, когда я нажимаю еще несколько раз в Add
, наступает точка, в которой достигнут конец размера линии, а скорее, чтобы разбить линию, как делает другая часть текста, новый span
просто отображается в одной строке, перекрывающей край div
.
Почему это происходит? Как этого избежать?
Я тестирую эту страницу в Google Chrome 42.0.2311.135
.
Весь html можно посмотреть в jsfinddle.
Почему вы размещения нечитаемым уплотненного HTML? Я предлагаю вам опубликовать ссылку на рабочий jsFiddle, чтобы люди могли видеть точный вопрос, о котором вы говорите, и, возможно, играть с тем, что вызывает проблему. – jfriend00
, но я не знаю ни одного сайта, который позволил бы мне опубликовать html для ссылки на здесь. У вас есть сайт, репозиторий, предложение? –
http://jsfiddle.net/xLs9trq2/ – adeneo