首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么动态创建的(SVG) rect组件只出现在DOM中而不出现在视图中?

SVG(Scalable Vector Graphics)是一种用于描述二维矢量图形的XML标记语言。在前端开发中,可以使用SVG来创建各种图形,包括矩形(rect)组件。

当动态创建的SVG rect组件只出现在DOM中而不出现在视图中时,可能是由于以下原因:

  1. 缺少渲染:SVG图形需要通过渲染引擎将其转换为可见的图像。如果没有正确设置或触发渲染过程,SVG图形将只存在于DOM中而不会在视图中显示。
  2. 尺寸问题:SVG图形的尺寸(宽度和高度)可能未正确设置或设置为0,导致图形无法在视图中显示。确保为SVG rect组件设置了适当的尺寸。
  3. CSS样式问题:SVG图形可以使用CSS样式进行样式化,包括填充颜色、边框等。如果未正确设置CSS样式或设置了不可见的样式,SVG图形可能不会在视图中显示。检查CSS样式是否正确应用到SVG rect组件上。
  4. 插入位置问题:动态创建的SVG rect组件可能未正确插入到文档中的适当位置。确保将SVG rect组件插入到正确的父元素中,以便在视图中正确显示。

总结起来,动态创建的SVG rect组件只出现在DOM中而不出现在视图中可能是由于渲染、尺寸、CSS样式或插入位置等问题导致的。需要仔细检查代码,确保正确设置和触发渲染过程,并确保SVG rect组件的尺寸、CSS样式和插入位置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SVG 与媒体查询结合使用

注意:SVG 2规范确实定义z-index了 SVG 文档行为和堆叠上下文,但大多数浏览器尚不支持它。 SVG 元素是根据它们源顺序堆叠出现在文档后面的那些位于堆栈顶部。...如果要更改 SVG 元素堆叠顺序,则需要在源中移动它们或使用 JavaScript 在 DOM对它们重新排序。 事实上,大多数 CSS 2.1 属性不适用于 SVG 文档。...但是当我们将animate类添加到我们圆圈时,我们将划线长度移动到500并消除间隙。效果有点像用圆规画一个圆。为什么是500?这是创造这种特殊效果最小值。...除了跨浏览器兼容性之外,GreenSock 和 MorphSVGPlugin 还可以更轻松地在两个形状之间进行变形,不管每个形状点数如何。...考虑一个徽标,例如下图中虚构 Hexagon Web Design & Development 徽标。 如果没有媒体查询,这个 SVG 标志会简单地拉伸或收缩以适应口或其容器。

6.2K00

解锁前端难题:亲手实现一个图片标注工具

从大技术选型来说,有两种实现思路,一种是 canvas,一种是 dom+svg,下面简单介绍下两种思路和优缺点。...dom+svg 也可以实现功能,缩放和旋转可以借助 css3 transform。 「优点」: 交互相对简单,可以利用 DOM 事件系统和 CSS。 对辅助技术支持较好,有助于提高可访问性。...总的来说,如果对性能有较高要求,或需要进行复杂图形处理和像素操作,可以选择基于 Canvas 方案。否则可以选择基于 DOM + SVG 方案。在具体实现时,可以根据项目需求和技术栈进行选择。...现在我们已经实现了图片缩放功能,效果如下所示: 鼠标缩放 细心你可能发现上面的缩放效果是基于左上角,基于鼠标点缩放意味着图片缩放中心是用户鼠标所在位置,不是图片左上角或其他固定点。...在这个例子,我们展示了上边中间编辑点处理逻辑,其他编辑点处理逻辑类似。通过拖动不同编辑点,我们可以实现标注不同方向和维度大小调整。

69510
  • SVG学习笔记,持续记录。

    SVG 是万维网联盟标准 SVG 与诸如 DOM 和 XSL 之类 W3C 标准是一个整体 浏览器会把SVG标记和样式转换成一个文档对象模型( document object model,DOM)...DOM可以通过JavaScript进行操作。针对XML内容DOM所有核心方法同样适用,所以我们可以创建和重排元素,获取和设置属性值,查询计算后样式值。...如果不指定width属性和height属性,指定viewBox属性,则相当于给定 SVG 图像长宽比。这时,SVG 图像默认大小将等于所在 HTML 元素大小。...-- 105 表示相对于svg左上角横坐标,55 表示相对于svg左上角纵坐标,60 表示截取宽度,60 表示截取高度。...当SVG文档被渲染时候,这2个元素不会被渲染到图形。这个2个元素之间差别不是太大,title在有些实现是作为提示信息出现,所以通常title是放到父元素第一个位置上。

    2.9K40

    「数据可视化库王者」D3.js 极速上手到Vue应用

    前言 D3近年来一直是 JavaScript最重要数据可视化库之一,在创建者 MikeBostock维护下,前景依然无量,至少现在没有能打的: D3与众多其他库区别在于无限定制能力(直接操作 SVG...用于数据可视化 D3,其核心在于使用绘图指令装饰数据,从源数据创建可绘制数据,生成 SVG路径以及从数据和方法在 DOM创建数据可视化元素(如轴)功能。 ?...当你要创建可视化时,了解如何加载数据以及将其绑定到DOM非常重要。所以在这个实例,你将学到这两点。...创建简易 SVG元素 ?...创建柱状图 ? 3. 柱状图模块导入 ? 4. 创建 svg元素 ? 因 Vue数据响应特性,我们不需要用到 D3操作 DOM那套链式创建。 5. 数据与窗口大小响应 ?

    7.9K30

    「数据可视化库王者」D3.js 极速上手到Vue应用

    前言 D3近年来一直是 JavaScript最重要数据可视化库之一,在创建者 MikeBostock维护下,前景依然无量,至少现在没有能打的: D3与众多其他库区别在于无限定制能力(直接操作 SVG...用于数据可视化 D3,其核心在于使用绘图指令装饰数据,从源数据创建可绘制数据,生成 SVG路径以及从数据和方法在 DOM创建数据可视化元素(如轴)功能。 ?...当你要创建可视化时,了解如何加载数据以及将其绑定到DOM非常重要。所以在这个实例,你将学到这两点。...创建简易 SVG元素 ?...创建柱状图 ? 3. 柱状图模块导入 ? 4. 创建 svg元素 ? 因 Vue数据响应特性,我们不需要用到 D3操作 DOM那套链式创建。 5. 数据与窗口大小响应 ?

    8.7K10

    矢量化HTML5拓扑图形组件设计

    按传统做法,程序员不仅要绘制矢量,并且在绘制图形代码还要掺杂业务参数逻辑,因此代码可读性和可维护性是很难想象。...这里HT又创新性提出了动态绑定矢量数据功能,HT矢量格式设计从骨子里头就考虑了动态绑定数据需求,HT矢量JSON格式,任何图形元素颜色、大小、角度等所有参数都可以动态绑定业务数据,例如上图水泵扇叶...矢量动态性还有个用途就是动态换肤,传统换肤用户需要让美工做不同颜色图片和css等资源,用户切换时需要远程动态下载,HT换肤完全就可以本地进行,整个过程无需服务器请求,甚至客户可以提供颜色拉条,...读到这里大家应该体会到为什么要重复定义并实现矢量这个轮子意义了吧,这里仅提出HightopoHT for Web为解决监控领域图形设计问题,一种独特实现机制供大家思考,萝卜白菜各有所爱,本文并非要掀起...DOM组件与Cavnas2D孰优孰劣争论,SVG的确也有highcharts这样不错应用案例,HT成功实现所有组件采用Canvas设计,Sencha和Kendoui等流行通用组件都采用DOM方式堆积也发展不错

    1.4K20

    HT全矢量化图形组件设计

    按传统做法,程序员不仅要绘制矢量,并且在绘制图形代码还要掺杂业务参数逻辑,因此代码可读性和可维护性是很难想象。...这里HT又创新性提出了动态绑定矢量数据功能,HT矢量格式设计从骨子里头就考虑了动态绑定数据需求,HT矢量JSON格式,任何图形元素颜色、大小、角度等所有参数都可以动态绑定业务数据,例如上图水泵扇叶...矢量动态性还有个用途就是动态换肤,传统换肤用户需要让美工做不同颜色图片和css等资源,用户切换时需要远程动态下载,HT换肤完全就可以本地进行,整个过程无需服务器请求,甚至客户可以提供颜色拉条,...读到这里大家应该体会到为什么要重复定义并实现矢量这个轮子意义了吧,这里仅提出HightopoHT for Web为解决监控领域图形设计问题,一种独特实现机制供大家思考,萝卜白菜各有所爱,本文并非要掀起...DOM组件与Cavnas2D孰优孰劣争论,SVG的确也有highcharts这样不错应用案例,HT成功实现所有组件采用Canvas设计,Sencha和Kendoui等流行通用组件都采用DOM方式堆积也发展不错

    1.5K90

    基于JavaScript开源可视化图标库

    : Object ) 注册可用地图,在 geo 组件或者 map 图表类型中使用。 使用方法见 option.geo。...参数: mapName 地图名称,在 geo 组件或者 map 图表类型设置 map 对应就是该值。 opt geoJSON 可选。GeoJson 格式数据,具体格式见 GeoJSON。...可以是字符串,也可以是解析得到 SVG DOM 对象。更多信息参见 SVG 底图。 specialAreas 可选。将地图中部分区域缩放到合适位置,可以使得整个地图显示更加好看。...在 geoJSON 中生效,svg 不生效。...对于 registerMap 所注册 SVG ,暂并不支持从此方法返回。 如果你在项目中使用了按需引入,从 v5.3.0 开始getMap必须要在引入地图组件后才能使用。

    2K10

    SVG与foreignObject元素

    作为一个基于文本开放网络标准,SVG能够优雅简洁地渲染不同大小图形,并和CSS、DOM、JavaScript等其他网络标准无缝衔接。...实际上在平时使用我们并不需要关注这些问题,但是在一些基于SVG可视化编辑器中比如DrawIO这些就是需要重视问题了,当然现在可能可视化编辑更多会选择使用Canvas来实现,但是这个复杂度非常高...此外标签不能直接放在标签内部,其具有严格嵌套规则,标签是一个独立元素,用于在SVG画布上绘制文本,标签是用于绘制矩形元素,所以绘制矩形并没有限制文本展示范围...>元素,当然DrawIO为了更通用场景做了很多兼容处理,特别是表现在行内样式上,类似于上述例子SVG在DrawIO表现出来是如下示例,需要注意是,直接从DrawIO导出的当前这个文件需要保存为...,但是仅仅加上这一个声明是不够,如果此时打开.svg文件发现展示了矩形没有文字内容,此时我们还需要在元素第一个上加入xmlns="http://www.w3

    52260

    单页应用优化--懒加载

    最近查阅了一些帖子,发现了一个极其强大方法,其兼容性有待提高~~(但已有相关Polyfill方式) 按需加载 // 全部加载 import 'ccharts' // 按需加载 加载需要使用组件...异步加载组件 首先我们可以将应用拆成多个模块组件,然后异步加载组件。配合webpack代码分割使用,达到按需加载效果(下述简单陈述,不做详细讲解)。...动态导入:通过模块内联函数调用来分离代码。...== '') return rect = item.getBoundingClientRect() // 图片一进入可视区,动态加载 if (rect.bottom...,毫秒; target:被观察目标元素,DOM节点对象; rootBounds:根元素矩形区域信息,getBoundingClientRect()方法返回值,如果没有根元素(即直接相对于口滚动

    1.6K31

    SVG动画简介

    SVG元素有着独有的标签,属性和行为,能够让它很容易定义各种形状——能够直接在DOM创造图像,因此能够被JavaScript和CSS操作。...作为初学者,你们可以看看这些SVG才能实线效果: Typographic Demo Isotyope Demo Shape Demo Handwriting Demo 在此有三个使用SVG创建图像不是用图片...其次,SVG可以在无损情况下缩放到任何尺寸,在桌面和移动设备屏幕上看起来都很锐利。 最后,你可以在运行时候(使用JavaScript,CSS)SVG图像一个组件动画。...创造SVG图像,你即可以直接使用其DOM元素呈现,也可以使用你喜爱图像编辑软件绘画然后导出SVG文件拷贝它代码粘贴到HTML即可。...下面的例子SVGcircle元素和紧接着SVGrect元素两者都包含在一个声明性(mandatory)SVG容器元素(这样也就告诉浏览器里面包含SVG标记不是HTML标记)。

    1.5K10

    初探富文本之基于虚拟滚动大型文档性能优化方案

    具体来说,虚拟滚动渲染用户浏览器口部分文档数据,不是整个文档结构,其核心实现根据可见区域高度和容器滚动位置计算出需要渲染列表项,同时不渲染额外视图内容。...,这对判断元素是否出现在口范围非常有用。...el) return void 0; this.observer.unobserve(el); } 最后就是实际滚动调度了,当节点出现在口时我们需要根据ELEMENT_TO_NODE获取节点信息,...实际上在这里树结构管理还是比较看具体业务实现,如果编辑器为了undo/redo方便不实际在树删除某个块,仅仅是标记为已/未删除状态,那么这个块管理器状态管理就变成了增不删,所以在这里基于...我们需要保证视图状态能够正确映射到Model上,由于在虚拟滚动过程DOM可能并不会真正渲染到页面上,浏览器选区表达则是需要anchorNode节点与focusNode节点共同确定,所以我们就需要保证在用户选中过程这两个节点是正常表现在

    24810

    Sentry Web 性能监控 - Web Vitals

    developers.google.com/search/blog/2020/11/timing-for-page-experience 最大内容绘制 (LCP) Largest Contentful Paint (LCP) 测量最大内容出现在口中渲染时间...这可以是来自文档对象模型(DOM)任何形式,例如 image、SVG 或 text block。它是口中最大像素区域,因此具有最直观定义。...在您光标到达那里之前,链接可能由于图像渲染向下移动。CLS 分数代表了破坏性和视觉不稳定转变程度,不是使用持续时间来表示此 Web Vital。...首次绘制 (FP) First Paint (FP) 测量第一个像素出现在口中所花费时间,呈现与先前显示内容相比任何视觉变化。...这可以是来自文档对象模型 (DOM) 任何形式,例如 image、SVG 或 text block。FCP 经常与 First Paint (FP) 重叠。

    2.5K20

    SentryWeb指标学习

    最大内容绘制 (LCP) 最大内容绘制 (LCP)测量最大内容出现在口中渲染时间。...这可以是来自文档对象模型 (DOM) 任何形式,例如图像(images)、SVG 或文本块(text blocks)。口中最大像素区域,因此最直观。...首次渲染(FP) 首次渲染 (FP) 测量第一个像素出现在口中所需时间,呈现与先前显示内容相比任何视觉变化。...首次内容绘制 (FCP) 首次内容绘制 (FCP)测量第一个内容在口中呈现时间。这可以是来自文档对象模型 (DOM) 任何形式,例如图像、SVG 或文本块。FCP 经常与首次渲染(FP)重叠。...您可能还想在直方图中查看与事务相关更多信息。单击所选 Web 指标下方“在发现打开(Open in Discover)”以构建自定义查询以进行进一步调查。

    2.2K00

    可视化初探上

    ,数据 total 和 current 分别对应 SVG 两个 g 元素下 rect 元素高度。...也就是说,元素属性和数值可以直接对应起来。 CSS 代码并不能直观体现出数据数值,需要进行 CSS 规则转换。图片在上面这段 SVG 代码,g 表示分组,rect 表示绘制一个矩形元素。...而且,一个 SVG 元素表示一种基本图形,如果展示数据很复杂,生成图形 SVG 元素就会很多。...在绘制层次关系图过程SVG 首先通过创建标签来表示图形元素,circle 表示圆,g 表示分组,text 表示文字。...因为它和 DOM 元素一样,以节点形式呈现在 HTML 文本内容,依靠浏览器 DOM 树渲染。如果我们要绘制图形非常复杂,这些元素节点数量就会非常多。

    1.7K60

    【译】Web图像技术总结,前端开发各种图片引入优点缺点及实例

    选择正确技术很重要,并且可以在性能和可访问性方面发挥巨大作用。 在这篇文章,我们除了提到各种包含图片方法外,还将了解到每种方法优点和缺点,以及什么时候和为什么要使用每种方法来龙去脉。...这样一来,可以使图像占据SVG整个宽度和高度,不会被拉伸或压缩。 当 宽度较大时,它将填充其父级(SVG)宽度不会拉伸。 ?...好吧,让我先补充一些要求: 在与后端CMS整合时,图片应该是很容易动态变化。 其上方有一个覆盖层,有助于使内容易于阅读。 图像有三种尺寸:小、中和大。它们每个都用于特定口。...在开始解决方案之前,让我们先问问自己这种背景性质。这是一些入门问题: 为用户保留这个图像很重要吗,还是可以跳过它? 我们是否需要在所有口尺寸上使用它? 它是静态还是动态变化?...现在,我们可以轻松地更新 --bg-url 变量,这将动态更改背景。这比内联CSS好一百万倍。

    5.6K20

    使用JavaScript和D3.js实现数据可视化

    D3利用可缩放矢量图形或SVG格式,允许您渲染可放大或缩小形状,线条和填充,不会降低质量。本教程将指导您使用JavaScript D3库创建条形图。...尽管你将使用CSS来进行D3样式设定,但值得注意是,很多在HTML上使用标准CSS在SVG使用方式会不一样-也就是说,你会用stroke,不是border,使用fill不是color。...("svg"); 如果我们现在加载barchart.html到我们Web浏览器,我们应该能够使用我们开发人员工具检查DOM或文档对象模型,并将鼠标悬停在SVG框上。...如果您现在重新加载页面,您将看不到任何矩形,但如果您检查DOM,您将看到在那里定义9个矩形。 我们还没有为矩形设置属性以使它们可见,所以现在添加它们。...我们需要选择文本,然后将其附加到SVG。我们还将它与我们创建dataArray联系起​​来。我们将使用"text",不是"rect",但一般格式和我们在上面添加矩形所做类似。

    21.8K30

    干货 | React Canvas 动画

    3.3 React 构建 div 容器 react-dom 本身允许我们绘制各种各样 HTML 节点,因此利用 React 来创建画布 div 容器,然后用上面相同代码逻辑来绘制 Canvas 动画即可...Layer、Rect 这些 Konva 对象能被正确解析并绘制到页面上,react-dom 不是仅能够渲染 HTML 组件吗?...Render 间生命周期同步 下面是通过函数组件 (Function Component) 实现自定义 render 与 react-dom 之间生命周期同步部分代码。...(() => { // 创建渲染根节点,传入属性略过 // 这里使用 StageWrap 里返回 div 作为 Stage 容器 // 相当于在 react-dom 开启了第二个...为了性能提升,我们希望尽量避免这些更新操作,节点上属性变化直接进行修改,不是通过 state 或者 prop 来进行控制,在需要在对象变更时候进行树变更操作就可以了。

    3K51

    【Web技术】610- Web上图片技巧

    在这篇文章,我们将学习各种图片添加方式,以及每种方式优缺点,以及什么时候和为什么要使用每种方式上下文。 HTML 元素 在最简单情况下,image元素必须根据需要包含src属性。...这就是保持SVG全宽和全高图像原因,不被拉伸或压缩。 当 宽度变大时,它将填充其父图像(SVG宽度不被拉伸。...在与后台CMS整合时,图片应该是动态变化,很容易就能改变。 在它上方有一个叠加,有助于让内容更容易阅读。 图片有三种尺寸:小、、大。每一个都是针对特定口。...-- Hero content --> 现在,我们可以轻松地更新 --bg-url变量,这样就能动态地改变背景。这比起内嵌式方式要好上百万倍。..."> 而在CSS,我们需要改变口宽度等于或大于1350px宽度。

    2.9K30
    领券