首页
学习
活动
专区
工具
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样式和插入位置正确。

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

相关·内容

【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(五) -> Svg

1 -> 基础知识 Svg组件主要作为svg画布的根节点使用,也可以在svg中嵌套使用。 说明 从API version 7开始支持。...svg父组件或者svg组件需要定义宽高值,否则不进行绘制。 1.1 -> 创建Svg组件 在pages/index目录下的hml文件中创建一个Svg组件。 绘制图形 Svg组件可以用来绘制常见图形和线段,如矩形(rect>)、圆形()、线条()等。 在本场景中,绘制各种图形拼接组成一个小房子。 出现在路径的开始处,用来指明从何处开始画。 L/l = lineto参数x和y表示一个点的x轴和y轴坐标,L命令将会在当前位置和新位置(L前面画笔所在的点)之间画一条线段。...4 -> 绘制文本 Svg组件还可以绘制文本。 4.1 -> 文本 说明 文本的展示内容需要写在元素标签text内,可嵌套tspan子元素标签分段。 只支持被父元素标签svg嵌套。

5610

将 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 的方案。在具体实现时,可以根据项目需求和技术栈进行选择。...现在我们已经实现了图片的缩放功能,效果如下所示: 鼠标缩放 细心的你可能发现上面的缩放效果是基于左上角的,基于鼠标点缩放意味着图片的缩放中心是用户鼠标所在的位置,而不是图片的左上角或其他固定点。...在这个例子中,我们只展示了上边中间编辑点的处理逻辑,其他编辑点的处理逻辑类似。通过拖动不同的编辑点,我们可以实现标注的不同方向和维度的大小调整。

    92110

    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.8K10

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

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

    1.4K20

    HT全矢量化的图形组件设计

    按传统的做法,程序员不仅要绘制矢量,并且在绘制图形代码中还要掺杂业务参数逻辑,因此代码的可读性和可维护性是很难想象的。...这里HT又创新性的提出了动态绑定矢量数据的功能,HT的矢量格式设计从骨子里头就考虑了动态绑定数据的需求,HT的矢量JSON格式中,任何图形元素的颜色、大小、角度等所有参数都可以动态绑定业务数据,例如上图水泵的扇叶...矢量的动态性还有个用途就是动态换肤,传统的换肤用户需要让美工做不同颜色的图片和css等资源,用户切换时需要远程动态下载,而HT的换肤完全就可以本地进行,整个过程无需服务器请求,甚至客户可以提供颜色拉条,...读到这里大家应该体会到为什么要重复定义并实现矢量这个轮子的意义了吧,这里仅提出Hightopo的HT for Web为解决监控领域图形设计问题,一种独特的实现机制供大家思考,萝卜白菜各有所爱,本文并非要掀起...DOM组件与Cavnas的2D孰优孰劣争论,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来实现,但是这个复杂度非常高...此外标签不能直接放在rect>标签内部,其具有严格的嵌套规则,标签是一个独立的元素,用于在SVG画布上绘制文本,而rect>标签是用于绘制矩形的元素,所以绘制的矩形并没有限制文本展示范围...>元素,当然DrawIO为了更通用的场景做了很多兼容处理,特别是表现在行内样式上,类似于上述例子中的SVG在DrawIO表现出来是如下的示例,需要注意的是,直接从DrawIO导出的当前这个文件需要保存为...,但是仅仅加上这一个声明是不够的,如果此时打开.svg文件发现只展示了矩形而没有文字内容,此时我们还需要在元素的第一个上加入xmlns="http://www.w3

    55360

    单页应用优化--懒加载

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

    1.7K31

    SVG动画简介

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

    1.6K10

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

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

    34710

    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

    Sentry中的Web指标学习

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

    2.3K00

    可视化初探上

    ,数据 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.9K30

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

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

    3K30

    干货 | 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
    领券