Javascript动态创建span并垂直对齐文本:文本留在底部
javascript dynamically create span and align text vertically : text stays at the bottom
我正在尝试生成一个svg矩形和一个span,以便span元素中的文本与svg元素垂直对齐。在声明式HTML+CSS中,我设法做到了这一点。但是我无法通过javascript实现。
下面是我的javascript代码:/* Svg creation
==============================*/
var svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute("width", 60);
svg.setAttribute("height", 60);
var square = document.createElementNS("http://www.w3.org/2000/svg", "rect");
square.setAttribute("x", 0);
square.setAttribute("y", 0);
square.setAttribute("width", 60);
square.setAttribute("height", 60);
square.setAttribute("fill", "red");
svg.appendChild(square);
document.body.appendChild(svg);
/* Span creation
==============================*/
var outerSpan = document.createElement("span");
outerSpan.style.height = "60px";
outerSpan.style.lineHeight = "60px";
var innerSpan = document.createElement("span");
innerSpan.style.display = "inline-block";
innerSpan.style.verticalAlign = "middle";
innerSpan.style.lineHeight = "1em";
innerSpan.textContent = "Red square";
outerSpan.appendChild(innerSpan);
document.body.appendChild(outerSpan);
在这里我的codepen尝试:你可以注意到,html+css代码工作,但不是javascript的一个,我的意思是,它显示了一切,但不是我想要的
这是因为你的svg
元素的垂直对齐不是middle
本身;它是baseline
(默认)。svg
元素在这里是对齐自己的基线,这是文本的底部。
这可以通过简单地指定:
来解决:svg.style.verticalAlign = "middle";
Codepen例子。
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 如何防止文本区域在打字和进入页面底部时跳舞?:JQuery/CSS
- Ext JS - 如何滚动到文本区域的底部
- Javascript将居中的文本放在页面底部
- 文本区域自动滚动到底部
- 使用pdfmake将文本固定到pdf的最后一页底部
- 停止插入符号跳到文本区域底部
- 如何使文本框滚动到底部的更新面板内,每次做回发
- 如何使用jQuery在添加文本后删除文本区域底部的空换行符?
- Javascript动态创建span并垂直对齐文本:文本留在底部
- Javascript聊天文本到底部
- 当连续添加文本时,垂直滚动条如何保持在底部?
- 如何将文本环绕在父元素底部的图像
- 在可编辑按钮中显示保存底部编辑文本
- 如何在标签底部对齐文本
- 想要使用引导程序放置一个底部折叠的标题文本横幅
- 将变量中的文本覆盖在每个图像的底部
- 当到达底部页面部分时,Jquery用锚文本隐藏Div
- 是什么导致文本区域向上推,而不是在我的菜单底部对齐