【问题标题】:Html text area to svg textHtml 文本区域到 svg 文本
【发布时间】:2012-02-14 23:18:03
【问题描述】:

是否可以将 html 中 textarea 中的文本转换为 svg 文本?文本区域具有格式化文本,即粗体、斜体、项目符号等。这是使用 jwysiwyg 库创建的。我附上代码:

`

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Example: Resizable - jWYSIWYG</title>
<link rel="stylesheet" type="text/css" href="../lib/blueprint/screen.css" media="screen, projection" />
<link rel="stylesheet" type="text/css" href="../lib/blueprint/print.css" media="print" />
<!--[if lt IE 8]><link rel="stylesheet" href="../lib/blueprint/ie.css" type="text/css" media="screen, projection" /><![endif]-->
<link rel="stylesheet" href="../../jquery.wysiwyg.css" type="text/css"/>
<link type="text/css" href="../lib/ui/jquery.ui.all.css" rel="stylesheet"/>
<script type="text/javascript" src="../lib/jquery.js"></script>
<script type="text/javascript" src="../../jquery.wysiwyg.js"></script>
<script type="text/javascript" src="../lib/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../lib/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../lib/ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../lib/ui/jquery.ui.resizable.js"></script>
<script type="text/javascript" src="../../controls/wysiwyg.image.js"></script>
<script type="text/javascript" src="../../controls/wysiwyg.link.js"></script>
<script type="text/javascript" src="../../controls/wysiwyg.table.js"></script>
<script type="text/javascript">
(function ($) {
    $(document).ready(function () {
        $('#wysiwyg').wysiwyg({
            resizeOptions: {},

            controls: {
                html: { visible: true }
            }
        });
    });
})(jQuery);
</script>
</head>
<body><div class="container">
    <h1>jWYSIWYG</h1>
    <h2>Example: Resizable</h2>
    <textarea id="wysiwyg" rows="5" cols="47"></textarea>

    <hr/>
    <a href="index.html">Index</a>
</div></body>
</html>

`

这个参考页面是@http://akzhan.github.com/jwysiwyg/

【问题讨论】:

    标签: html svg textarea jquery-svg


    【解决方案1】:

    您必须使用 tspan 拆分 svg 中的各个部分。你可以在这里使用 css。

    <text x="382" y="238">
      <tspan >This text</tspan>
      <tspan style="font-weight:bold">is bold</tspan>
      <tspan> and this is normal</tspan>
    </text>
    

    此外,Highcharts 渲染器可以自动为您执行此操作:

    http://www.highcharts.com/ref/#renderer

    我自己经常使用这个。

    【讨论】:

    • 嗯,这就是您在 svg 中创建粗体文本的方式。如果你想将&lt;b&gt; 变成&lt;tspan style="font-weight:bold;"&gt;,你可以通过字符串替换来实现。
    • 对齐可以通过 text-anchor 样式属性来完成。您可以使用 unicode 字符来伪造子弹: •
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2011-10-20
    相关资源
    最近更新 更多