如何操作svg外来对象html文本包装和定位
How to manipulate svg foreign object html text wrapping and positioning?
所以我正在做一个相框设计师。不要摆弄网站,因为它更容易。给你。
基本上,在文本输入上,它将文本打印到SVG框架中,该框架使用嵌入的外部对象标记,这样我就可以访问它的自动文本换行。问题出在文本的定位上。当单词在两行上时,位置是正确的。然而,在单行上,文本太高。我需要它在照片插槽和框架底部之间的中心。这可以通过调整异物的"y"值来轻松完成。然而,这会导致两行文字的位置过低。我不知道该怎么解决这个问题。也许是jQuery还是javascript?谢谢
代码:
<foreignObject x="78" y="460" width="1100" height="220" style="color:white;text-align:center">
<body xmlns="http://www.w3.org/1999/xhtml">
<p id="text">Your words here</p>
</body>
</foreignObject>
为了证明我的观点,下面是一个示例,使用了建议的重复问题页面中的一种技术。
<svg width="500" height="200">
<rect x="0" y="0" width="500" height="200" fill="orange"/>
<foreignObject x="0" y="0" width="500" height="200">
<style>
div { display: table; font-size: 60px; width: 500px; height: 200px; }
p { display: table-cell; text-align: center; vertical-align: middle; }
</style>
<body xmlns="http://www.w3.org/1999/xhtml">
<div>
<p id="text">Your words here</p>
</div>
</body>
</foreignObject>
</svg>
如果向<p>
元素添加更多文本,则文本将保持居中。
例如,这里有一个带有两个SVG的演示,它们之间唯一的区别是文本段落的长度。
相关文章:
- 枚举附加到文档的HTML对象的所有事件
- JS for循环来设置HTML对象参数
- 为什么不显示多个HTML对象对象
- 如何将html对象传输到浏览器
- Jquery使用html对象添加更多内容
- 从 jQuery 中的 HTML 对象中删除禁用的属性
- HTML 对象在使用 ContentPlaceHolder 时在 Javascript 中显示为未定义
- 使用 Javascript 的动态 HTML:用不同的内容填充相同的 HTML 对象
- 使用 node.js 和 javascript 更新 HTML 对象
- 如何使动态插入的 html 对象可单击
- 读取HTML对象标记中的数据
- JavaScript+addEventListener'单击'在select html对象上忽略
- 创建HTML对象的Javascript与创建HTML字符串的比较
- Html对象标记:访问Html页面中的元素
- 一次加载HTML对象并多次使用
- 使用cookie读取html对象的id
- 未捕获的类型错误:对象#<HTML对象元素>没有方法'重新绘制工作流'
- 使用JavaScript更改HTML对象
- 显示HTML对象
- Knockoutjs 绑定到复杂的 html 对象