返回介绍

circular-text

发布于 2023-08-19 19:14:40 字数 1932 浏览 0 评论 0 收藏 0

circular-text

<style>
    .circular {
        width: 30em;
        height: 30em;
    }

    .circular path {
        fill: none;
    }

    .circular svg {
        display: block;
        overflow: visible;
        margin: 3em 3em 0 3em;
    }
</style>

<div class="circular">
    <svg viewBox="0 0 100 100">
        <path d="M 0,50 a 50,50 0 1,1 0,1 z"
              id="circle"></path>
        <text>
            <textPath xlink:href="#circle">
                This is a circular graph by svg................
            </textPath>
        </text>
    </svg>
</div>
  • helper function
<script>
    $$('.circular').forEach(function (el) {
        var NS = "http://www.w3.org/2000/svg";
        var xlinkNS = "http://www.w3.org/1999/xlink";
        var svg = document.createElementNS(NS, "svg");
        var circle = document.createElementNS(NS, "path");
        var text = document.createElementNS(NS, "text");
        var textPath = document.createElementNS(NS, "textPath");
        svg.setAttribute("viewBox", "0 0 100 100");
        circle.setAttribute("d", "M0,50 a50,50 0 1,1 0,1z");
        circle.setAttribute("id", "circle");
        textPath.textContent = el.textContent;
        textPath.setAttributeNS(xlinkNS, "xlink:href", "#circle");
        text.appendChild(textPath);
        svg.appendChild(circle);
        svg.appendChild(text);
        el.textContent = '';
        el.appendChild(svg);
    });
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文