0

0

SVG中的标签怎么用 嵌入HTML内容

煙雲

煙雲

发布时间:2025-12-26 05:21:14

|

877人浏览过

|

来源于php中文网

原创

应优先使用 渲染纯文字;仅当需在 svg 中嵌入富文本、表单、复杂排版或交互式 html 内容时才用 ,且必须显式设置宽高、坐标及 xmlns,注意 safari 和 webview 兼容性问题。

svg中的<foreignobject>标签怎么用 嵌入<a   style=html内容">

<foreignobject></foreignobject> 能在 SVG 里嵌入 HTML,但不是所有环境都支持,尤其注意 Safari 和部分移动端 WebView 的兼容性问题。

什么时候该用 <foreignobject></foreignobject>

适合需要在 SVG 图形上叠加富文本、表单控件、带样式的段落或动态更新的 HTML 内容(比如 tooltip、标签云、带链接的文字说明)。它不是用来替代 <text></text> 的——纯文字优先用 <text></text>,更轻量、更可控、渲染更稳。

  • SVG 坐标系中需要定位一块 HTML 区域(例如:在某个圆右上方放一个带背景色的 <div>) <li>内容含内联样式、<code><img alt="SVG中的标签怎么用 嵌入HTML内容" ><button></button> 或需要 JS 交互
  • 内容结构复杂,CSS 排版比 SVG 文本基线控制更方便
  • <foreignobject></foreignobject> 必须设置宽高和坐标

    它不像 HTML 元素那样自动撑开,widthheight 是强制属性,且必须是具体数值(不能是 100%),否则内容不渲染。它的 xy 是 SVG 坐标系中的左上角位置,不是 CSS 的 top/left

    PHPEIP
    PHPEIP

    PhpEIP企业信息化平台主要解决企业各类信息的集成,能把各种应用系统(如内容管理系统,网上商城,论坛系统等)统一到企业信息化平台中,整个系统采用简单易用的模板引擎,可自定义XML标签,系统采用开放式模块开发,符合开发接口的模块可完全嵌入到平台;内容管理模块可自定义内容模型,系统自带普通文章模型和图片集模型,用户可以定义丰富的栏目构建企业门户,全站可生成静态页面,提供良好的搜索引擎优化;会员管理模

    下载
    <svg width="400" height="300">
      <circle cx="100" cy="100" r="40" fill="#eee"/>
      <foreignObject x="150" y="70" width="180" height="60">
        <div xmlns="http://www.w3.org/1999/xhtml" style="font-size:14px; background:#fff; padding:4px; border:1px solid #ccc;">
          <strong>提示</strong>:这是嵌入的 HTML
        </div>
      </foreignObject>
    </svg>
    • xmlns="http://www.w3.org/1999/xhtml" 必须显式声明,否则浏览器可能忽略内部 HTML
    • 内部 HTML 不能使用外部 CSS 文件,内联样式或 <style></style> 可用,但要注意作用域限制
    • 不要在 <foreignobject></foreignobject> 外套 <a></a> 或试图给它加 transform 动画——多数情况下会失效或错位

    常见错误:内容不显示或错位

    最常遇到的是“写了但看不见”,基本就这三类原因:

    立即学习前端免费学习笔记(深入)”;

    • 没设 width/height,或设为 0auto100%
    • x/y 超出 SVG viewBox 范围,且父容器没设 overflow: visible(默认裁剪)
    • 嵌套了 <svg></svg> 或其他 SVG 元素(<foreignobject></foreignobject> 只接受 XHTML 内容,不认 <circle></circle> 等)
    • Safari 中若父 SVG 用了 containpaint 相关 CSS 属性,可能触发渲染 bug

    真正难调的不是语法,而是坐标对齐和跨浏览器行为差异——比如 Chrome 里 y 对应 div 的顶部,Safari 有时会按 baseline 计算;HTML 内部字体行高、padding 在不同引擎下像素级偏移也常有。如果只是简单标注,老实用 <text></text> + <tspan></tspan> 更省心。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1036

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

826

2023.11.06

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

530

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

534

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

718

2023.08.03

js是什么意思
js是什么意思

JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

6020

2023.08.17

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

492

2023.09.01

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

1

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

相关下载

更多

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 40.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号