我绝对是SVG的初学者,我需要把文字放在这个月亮周围...

<svg viewBox="-6 -6 30 40">
    <defs>
        <mask id="earth">
            <rect fill="white" x="-5" y="-5" width="10" height="10"></rect>
            <circle fill="black" cx="3.141592654" r="5" />
        </mask>
    </defs>
    <circle r="5" fill="currentColor" mask="url(#earth)" transform="rotate(-25)"/>
</svg>

推荐答案

用路径画月亮.(编辑:https://yqnn.github.io/svg-path-editor/)

路径是逆时针绘制的,如果希望像设计一样绘制innermoon文本,则更容易添加顺时针绘制的第二条路径.

Setting pathLength helps in positioning with startoffset
Look up all attributes you don't know in the docs.

<svg viewBox="0 0 80 60">
  <rect width="100%" height="100%" fill="skyblue"/>
  <path id="Moon" pathLength="10" d="m16 2a12 12 0 1018 13 1 1 0 01-18-13z"/>
  <text>
    <textPath href="#Moon" 
              startoffset="1" text-anchor="left" dominant-baseline="hanging"
              fill="blue" font-size="3px">Outside moon</textPath>
  </text>
  <text>
    <textPath href="#Moon" 
              startoffset="6" text-anchor="right" dominant-baseline="hanging"
              fill="rebeccapurple" font-size="4">Inside moon</textPath>
  </text>
</svg>

Html相关问答推荐

纯CSS语音气泡与半透明背景和边框

CSS:显示块,第一个项目没有正确对齐

放大缩小标题在外面的图像

Chrome和Safari浏览器中的CSS3动画不同

如何在css中将包含多行文本的多个p-tag放在一起(并排)?

如何在一张表中逃脱边境坍塌--崩溃?

如何在用css使用网格视图时设置宽度?

如何在将文本垂直居中的同时将文本右对齐?

如何创建带有粘性列和标题的网格?

rmarkdown HTML数字不适用于针织衫_1.44

(HTML框架标签)点击后目标框架将不再工作

如何在 VS Code 中 Select 和删除 HTML 元素(其标签和内容)?

带圆角帽的 CSS 部分边框

Primeng浮动标签溢出管理

CSS 变量不适用于自定义属性回退值

如何使文本显示在页眉/页脚之外?

用 flexbox 和 overflow 覆盖

所有幻灯片上的 Quarto RevealJS 标题

如何阻止网格项目拉伸?

如何将内容从侧边栏的底部移动到右侧?