首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在SVG文档中<use>一个命名的<tspan>元素?

如何在SVG文档中<use>一个命名的<tspan>元素?
EN

Stack Overflow用户
提问于 2021-12-09 11:56:36
回答 2查看 41关注 0票数 1

我试图在SVG文档的早期定义一个tspan,以便它可以在稍后的text中被屏蔽。至少在Firefox中,下面的代码不会产生这个结果。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<svg version="1.1" width="500" height="500" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <tspan id="transcluded-text">This is a text</tspan>
    </defs>
    <text>
        <use href="#transcluded-text"/>
    </text>
</svg>

使用Firefox的检查工具,use元素如预期的那样包含一个影子DOM (#shadow-root),但是影子DOM本身是空的。

不使用Javascript,是否有可能像这样将tspan转换到text中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-10 01:27:10

text元素只能包含文本内容子元素(所以,不能包含<use>),而defs元素可以包含的唯一文本相关元素是<text>。因此,这一切都表明<tspan>不能以这种方式使用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<svg version="1.1" width="500" height="500" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <text x="10" y="20" font-size="20" id="transcluded-text">This is a text</text>
  </defs>
  <use href="#transcluded-text"/>
</svg>

票数 0
EN

Stack Overflow用户

发布于 2021-12-10 02:29:53

由于不能在<use>中使用元素,所以在中使用<text>元素;

或者是<defs>中的裸露的<defs>

现代的本机Web组件可以完成替换工作:

(这将导致您可能需要处理的FOUC )

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>
  customElements.define("svg-use-replacer", class extends HTMLElement {
    connectedCallback() {
      setTimeout(() => { // make sure SVG is parsed
        this.querySelectorAll('use').forEach(use => {
          let href  = use.getAttribute("href");
          let tspan = this.querySelector(href);
          use.replaceWith(tspan); // .replaceWith was not available in IE
        });
        // if the bare <svg> is required in the DOM:
        // this.replaceWith(this.querySelector("svg"));
      });
    }
  });
</script>

<svg-use-replacer>
  <svg version="1.1" width="500" height="500" xmlns="http://www.w3.org/2000/svg">
    <defs>
      <tspan id="foo" stroke="green">Wonderful</tspan>
    </defs>
    <text x="10" y="20" font-size="20">
      Hello
      <use href="#foo" /> Web Component
    </text>
  </svg>
</svg-use-replacer>

备注

  • oldskool的方法是在解析该元素之后附加一个类和,在它上运行JavaScript。
  • 对于Web组件,当定义Web组件时,它完全不需要()。 您可以在任何时候执行上述script
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70295962

复制
相关文章
如何在父进程中读取子(外部)进程的标准输出和标准错误输出结果
        最近接手一个小项目,要求使用谷歌的aapt.exe获取apk软件包中的信息。依稀记得去年年中时,有个同事也问过我如何获取被调用进程的输出结果,当时还研究了一番,只是没有做整理。今天花点时间,将该方法整理成文。(转载请指明出于breaksoftware的csdn博客)
方亮
2019/01/16
3.9K0
subprocess:Python中创建子进程
subprocess库提供了一个API创建子进程并与之通信。这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进行的标准输入和输出通道来回传数据。
luckpunk
2023/09/29
5480
subprocess:Python中创建子进程
如何在 Python 里优雅地读取文件特定行
如果文件非常大,不能读取到内存中,那么你可能会通过for 循环数行数,数到特定行:
青南
2019/09/16
2.3K0
如何在 Python 中读取 .data 文件?
在本文中,我们将学习什么是 .data 文件以及如何在 python 中读取 .data 文件。
很酷的站长
2023/02/22
5.9K0
如何在 Python 中读取 .data 文件?
python读取特定的行
fr = open(filename) for line in fr.readlines():     if line.startswith("#"):         continue     else:         ## do something with line          ## could use fr.readlines()[1:]  from second line import linecache content_list = linecache.getlines(filenam
py3study
2020/01/13
3.9K0
如何在 Python 中启动后台进程?
后台进程是在后台运行的程序或任务,它们不会阻塞主程序的执行,并可以在后台处理一些耗时或周期性的任务。在本文中,我们将探讨如何在Python中启动后台进程,并介绍一些内置模块和第三方库来实现这一目标。
网络技术联盟站
2023/08/03
1.8K0
如何在 Python 中启动后台进程?
如何在 Python 中启动后台进程?
后台进程是在后台运行的程序或任务,它们不会阻塞主程序的执行,并可以在后台处理一些耗时或周期性的任务。在本文中,我们将探讨如何在Python中启动后台进程,并介绍一些内置模块和第三方库来实现这一目标。
网络技术联盟站
2023/07/14
4170
如何在 Python 中启动后台进程?
如何在python中惰性地读取文件?
惰性地读取,就是在读文件的时候,不是直接将整个文件读到内存之中,而是一行一行的读取。这对于读取如网页日志这样的贼大的文件来说,可以减少打开文件的响应时间以及所占用的内存。
灯珑LoGin
2022/10/31
1.8K0
父视图半透明而子视图不半透明
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/50970269
用户1451823
2018/09/13
1.3K0
python readinto直接读取到缓冲区
def read_into_buffer(filename): buf = bytearray(os.path.getsize(filename)) with open(filename, 'rb') as f: f.readinto(buf) return buf
用户5760343
2019/09/30
8810
如何在 Python 中终止 Windows 上运行的进程?
当深入研究Windows操作系统上的Python开发领域时,无疑会出现需要终止正在运行的进程的情况。这种终止背后的动机可能涵盖多种情况,包括无响应、过度资源消耗或仅仅是停止脚本执行的必要性。在这篇综合性的文章中,我们将探讨各种方法来完成使用 Python 终止 Windows 上运行的进程的任务。通过利用“os”模块、“psutil”库和“子流程”模块,我们将为自己配备一个多功能工具包来解决这项势在必行的任务。
很酷的站长
2023/08/11
5840
如何在 Python 中终止 Windows 上运行的进程?
进程中的数据读取和修改
// 获取窗口句柄 HWND hFindWnd = ::FindWindow(NULL, “[窗口标题]”);
ClearSeve
2022/02/16
8580
python 从subprocess运行的子进程中实时获取输出
shell =false 意思是command 使用的不是linux shell指令,如果要用shell 指令如ls 要将false 变成true, 通过指定stderr=subprocess.STDOUT,将子程序的标准错误输出重定向到了标准输出,以使我们可以直接从标准输出中同时获取标准输出和标准错误的信息。 p.poll() 返回子进程的返回值,如果为None 表示 c++子进程还未结束. p.stdout.readline() 从 c++的标准输出里获取一行.
多凡
2020/02/11
10.5K0
最佳实践:巧妙kill CRS进程而不导致主机重启
张大朋(Lunar)Oracle 资深技术专家 Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职于 ORACLE Sales Consultant 部门,负责的产品主要是 Exadata,Golden Gate,Database 等。 我们都知道,在RAC环境中,如果kill ocssd.bin进程,会引起主机重启。 但是有时候系统已经异常了了,且CRS不能正常关闭,而主机可能是几年没重启的老系统,没人敢重启,现在怎么办? 我们只能尝试手
数据和云
2018/03/06
2K0
最佳实践:巧妙kill CRS进程而不导致主机重启
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
在使用python的multiprocess库时,如果在主进程中的处理子进程的返回函数callback或者处理子进程的错误的函数errorbackerror中抛出异常,则子进程无法退出。 (1)errorcallback中抛出异常
锦小年
2021/12/08
3.1K0
python multiprocess 子进程和主进程同时抛出异常时子进程无法退出
美好“如祺”而至,安全如影随形
昨天,网约车家族又迎来了一个新成员 —— 如祺出行。 这个由广汽与腾讯等合作方联手打造的共享出行产品,将在广州正式推出市场,以粤港澳大湾区为核心逐步向全国推广,计划一年内开拓5个城市,投放近一万辆新能源车型。 腾讯拿出了用户服务和营销、车联网和平台运营、地图和云服务、生态服务和安全五大核心能力,支持如祺出行。安全能力作为其他四大能力的基石,对出行平台的业务发展至关重要。腾讯安全在如祺出行上也拿出了一整套的解决方案,涵盖安全咨询、应用安全、风控安全,从战略视角帮助如祺出行构建全面的安全体系。 那么
腾讯安全
2019/09/16
1.5K0
美好“如祺”而至,安全如影随形
【说站】python如何在word中读取表格内容
word文件看起来很复杂,不方便结构化。事实上,word文档中大概有几种内容:paragraph(段落)、table(表格)、character(字符)。我现在要分析的word文档基本都是段落和表格。本文主要讲述从word中分析表格,并将表格信息结构化的方法。
很酷的站长
2022/11/24
2K0
python读取文件末尾N行
# -*- coding: cp936 -*- import os,sys,re def lastline(): global pos while True: pos = pos - 1 try: f.seek(pos, 2) #从文件末尾开始读 if f.read(1) == '\n': break except: #到达文件第一行,直接读取
py3study
2020/01/13
3.3K0
点击加载更多

相似问题

Jaeger服务未显示在Jaeger UI中

14

在远程主机(而不是本地)上使用烧瓶虚拟主机

25

MS Excel 365:本地主机urls在本地浏览器中打开,而不是弹出对话框

115

PHP文件在浏览器中打开,而不是运行

31

国际化在本地运行,而不是在远程运行

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文