Почему я получаю разрыв строки после элемента <span>
Почему я получаю разрыв строки? Я использую следующее: Пустое пространство: nowrap; но когда я заполняю промежуток, появляется разрыв строки. Чем это вызвано?
function insertLinkHoverImage(datei,datei2,verlinkung)
{
var doc = document.getElementById("frame").contentWindow.document;
var range = doc.getSelection().getRangeAt(0);
var nnode = doc.createElement("span");
var width = 0;
var height = 0;
var image = doc.createElement("img");
image.src = "http://www.galliano.cc/Test_seite/cms/uploads/"+datei;
//Wenn Bild hochgeladen wurde
image.onload = function() {
document.getElementById("imgwidth").value = image.width;
document.getElementById("imgheight").value = image.height;
var alink = doc.createElement("a");
var classDatei2 = "";
alink.href = verlinkung;
classDatei2 = datei.replace(".","-");
nnode.setAttribute("style","white-space: nowrap; background-image:url(http://www.galliano.cc/Test_seite/cms/uploads/"+datei+"); width:"+document.getElementById("imgwidth").value+"px; height: "+document.getElementById("imgheight").value+"px; display: block; background-repeat: no-repeat;");
alink.appendChild(nnode);
range.insertNode(alink);
}
}
1 ответ
Решение
Если вы посмотрите на свой JavaScript, у вас есть:
var nnode = doc.createElement("span");
и тогда у вас есть:
nnode.setAttribute("style","white-space: nowrap;
background-image:url(...);
width:"+document.getElementById("imgwidth").value+"px;
height: "+document.getElementById("imgheight").value+"px;
display: block; background-repeat: no-repeat;");
Итак span
по умолчанию встроенный элемент, но затем вы указываете display: block
в вашем встроенном стиле, что делает его элементом уровня блока, и это даст вам разрыв строки.
Попробуйте использовать display: inline-block
,