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

在Chrome中,为什么SVG foreignObjects不能缩放相对定位的内容?

在Chrome中,SVG foreignObjects不能缩放相对定位的内容,这是因为SVG(可缩放矢量图形)的缩放受到限制,不能直接对SVG元素应用相对定位。

要解决这个问题,可以使用CSS中的transform属性,将SVG元素的位置和大小都相对于其父元素进行计算,而不是相对于浏览器窗口。以下是一个示例CSS代码:

代码语言:css
复制
.container {
  position: relative;
}

svg {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, 0);
}

在这个示例中,SVG元素被放置在一个名为.container的父元素中,并且相对于该父元素进行定位。同时,使用transform属性将SVG元素的位置和大小都相对于其父元素进行计算,而不是相对于浏览器窗口。

使用这种方法可以使SVG元素相对于父元素进行缩放,而不会影响到其他元素。但是,需要注意的是,如果父元素的大小小于SVG元素的大小,则SVG元素可能会超出父元素的范围,需要使用其他方法来处理这种情况,例如使用overflow属性来显示滚动条。

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

相关·内容

高清ICON SVG解决方案(上) - 腾讯ISUX

Chrome目前依旧是使用GDI,而FF和IE9+已经是采用了DirectWrite,这就是为什么iconfontChrome下锯齿会比其他浏览器严重原因,可能GDI确实像FF官方说存在许多缺陷,...SVG技术 什么是SVGSVG缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形一种图形格式。...SVG是W3C制定一种新二维矢量图形格式,也是规范网络矢量图形标准。SVG严格遵从XML语法,并用文本格式描述性语言来描述图像内容,因此是一种和图像分辨率无关矢量图形格式。...从Chrome和FF下显示效果,我们看到SVGICON质量确实是比iconfont要好,iconfont做图标,我截图后放大后看到线边缘发虚了,这是因为字体渲染原因导致,FF下也是发虚,...如何绘制高质量ICON 在上面的demo眼尖同学应该可以看出在FF下,inline SVG图标有一个出问题了,然而Chrome却是正常: ?

3.3K40

SVG动态之美-搜狗地铁图重构散记

本文重点讨论搜狗地铁图对SVG使用和优化方案。讨论技术细节之前,我们先说明一下为什么要使用SVG。...以上几种操作技术实现需要遵循以下几个基本原则: 缩放地图不能展示模糊内容,必须看上去是清晰。...抛开大量计算和DOM操作不谈,从视觉上表现如图4所示: ? 为什么气泡和起终点等节点没有同比例缩放?因为这些节点不是矢量SVG缩放会失真。...缩放操作过程需要频繁地改变被缩放DOMtransform从而引起重绘(re-render),这期间浏览器本身就进行着大量计算,所以应用程序层面应该尽可能减少计算量。...,灰色区域为Container节点,两者缩放过程均未改变。

2.1K01
  • web前端学习:HTML5十个新特性

    (五)SVG绘图                     Scalable Vector Graphic,可缩放向量图 H5标准之前使用方法:SVG标签不能直接书写在网页,只能编写在独立XML文档...;            网页中进行嵌入 纳入H5标准后使用方法:SVG标签可以直接书写在网页。...Canvas与SVG不同: (1)Canvas是位图;SVG是矢量图 (2)Canvas是JS绘图技术(不是DOM元素);SVG是标签绘图技术(是DOM元素) (3)Canvas内容不能使用CSS;SVG...内容可以使用CSS; (4) Canvas内容不方便绑定事件处理;SVG内容方便进行事件绑定            常用SVG图形: (1)矩形 ?...——执行耗时JS任务过程,会暂停页面中一切内容渲染以及事件处理。

    2.9K10

    腾讯地图JSAPI-地图上添加自定义覆盖物

    绑定时一方面主要是将createDOM()返回DOM元素加入到特定节点下,使其覆盖地图上方且可以进行相对定位;另一方面是监听地图变换执行updateDOM(),使DOM元素可以跟随地图更新定位内容...地图发生平移、缩放、旋转时调用,用于更新DOM元素定位 onDestroy销毁阶段调用,可在此函数对自定义对象和事件监听进行删除 具体生命周期如下: [172b2ebd0e2fa42b?...另外,我们createDOM方法对生成svg元素设置了CSS样式position:absolute;top:0px;left:0px;,所以元素实际定位是与地图容器左上角对齐。...有的同学发现创建了自定义覆盖物之后就不能像MultiMarker那样通过on('click')监听到点击事件了,这是为什么呢?...为什么出现偏移? 有的同学实现自定义覆盖物之后,发现创建多个元素会发生向下偏移,且逐个偏移量越来越多,这是为什么

    3.4K50

    前端成神之路-品优购项目(一)

    比特虫 总结: 代码: 注意: 她(它)是显示浏览器网页图标...Description 网站说明 对于关键词作用明显降低,但由于很多搜索引擎,仍然大量采用网页MATA标签描述部分作为搜索结果内容摘要”。 就是简要说明我们网站主要做什么。...补充 title 和 keywords 未能充分表述说明....更重要是图片不能很好进行“缩放”,因为图片放大和缩小会失真。 我们后面会学习移动端响应式,很多情况下希望我们图标是可以缩放。...追加字体图标 如果工作,原来字体图标不够用了,我们需要添加新字体图标,但是原来不能删除,继续使用,此时我们需要这样做 把压缩包里面的selection.json 从新上传,然后,选中自己想要新图标

    1.7K20

    前端不止:请告诉我,你要什么样图标

    只是第一种工作方式,设计师是不可见。...IconFont优点在于能够用CSS控制样式,无限缩放而不失真,支持IE7+,兼顾屏幕阅读器,不过缺点是不能支持彩色图标(拥有多种颜色图标)。...SVG导出内容,当然,还有一篇国内翻译文章《创建和导出SVG技巧》,最后再推荐一篇Adobe工程师michael chaize写关于AI导出SVG文章《Export SVG for the web...如果SVG包含大量文字,这个选项output fewer tspan elements可以很大程度上降低svg大小。...(敏捷开发不同角色共享职责) ThoughtWorks工作,你会发现不少设计师懂HTML,CSS,甚至如何用Chrome查看元素,同时有不少开发对设计也颇有研究和兴趣。

    1.6K70

    HTML5新特性

    手机浏览器如何获得定位信息: (1). 首选手机GPS芯片与卫星通信,定位精度米 (2)....次选手机通信基站进行定位获取,定位精度公里 PC浏览器如何获得定位信息: 通过IP地址进行反向解析,定位精度取决于IP地址库大小 HTML5提供了一个新对象,用于获取当前浏览器定位信息: window.navigator.geolocation...Chrome浏览器线程模型 一个Chrome进程内,至少有6个线程,可以“同时/并发”向Web服务器发起HTTP请求,以获得所需资源-资源请求线程 还有一个线程负责将所有内容绘制到浏览器页面-UI...” Chrome线程模型: 请求资源(6个线程);运行代码/渲染页面内容(1个线程) 按钮1 <button...HTML5新特性之九-WebStorage 浏览器存储当前用户专有的数据:访问历史、内容定制、样式定制... 客户端存储数据可以使用技术: (1).

    7.7K30

    SVG 与媒体查询结合使用

    所有主要浏览器引擎都支持SVG 1.1规范,而且他们已经这样做了多年。另一方面,对SVG 2特性支持仍在进行撰写本文时,我们将在此处讨论某些内容浏览器支持有限。...问题跟踪器导航可能令人不快,但就目前而言,它们是跟踪 SVG 2 支持最佳方式。 然而,我们进一步讨论之前,让我们先谈谈什么是 SVG 以及为什么要使用它。...将 150 x 150 像素图像缩放到 300 x 300 像素会使其失真。 矢量图像格式不使用网格上像素,而是描述构成图像原始形状(圆形、矩形、线条或路径)以及它们文档坐标系位置。...SVG 不存在定位方案。该position属性对 SVG 元素没有影响。top,left和bottom等依赖于被定位元素属性也不行。您也不能SVG 文档浮动元素。...换句话说,您可以定义将元素绘制到 SVG 画布位置,但您不能在 CSS 词意义上“定位”它们。 与定位方案相关,SVG 也缺乏z-index上下文概念和堆叠。

    6.2K00

    开启D3:是什么让程序员与设计师如此钟爱

    从技术上来讲,能被浏览器访问并被其渲染东西都可以称为Web文档,这包括任何HTML页面,但更为重要还有SVG(可缩放矢量图形)及图片。 你以前可能用过SVG。...SVG是一种矢量图形格式:图形分辨率能够根据缩放级别自我调节,所以从来不会失真。其背后秘密就是使用了一种类似HTML标记语言来编码这种Web图形文档。...D3可以让你直接在SVG这种华丽Web文档格式图形元素上根据数据值来设置属性!使用D3,就是使用数据直接控制浏览器所显示内容。简而言之,这就是D3。...你肯定无数次从网上下载过SVG文件并粘贴到你设计软件。有了D3,你将来到SVG标签内容深处,即使是第一次接触,也会发现其组成逻辑和命名方式似曾相识。...程序员为什么钟爱D3 如果你是一个程序员,你会钟爱D3,因为D3基于现有Web标准HTML和SVG就能发挥强大威力,根本不需要依赖任何第三方插件或专属框架。

    1.7K20

    位图和SVG用法比较

    扩大位图尺寸效果是增大单个像素,从而使线条和形状显得参差不齐。然而,如果从稍远位置观看它,位图图像颜色和形状又显得是连续。 提到SVG,我想大多数人第一印象是矢量缩放。...是的,SVG是制作Logo、图标及按钮理想选择。和位图不同,SVG可以不失真情况下进行任意缩放。同时,和传统Web字体不同是,SVG可以使用多种颜色、渐变甚至复杂过滤器来处理文字。 ?...图像类型 组成 优点 缺点 位图 像素 只要有足够多不同色彩像素,就可以制作出色彩丰富图象,逼真地表现自然界景象 缩放和旋转容易失真,同时文件容量较大 SVG 数学向量 文件容量较小,进行放大...使用方法 SVG同样可以把多个图像集成到一个文件。...而且交互性上要优于位图图片;你可以使用图片名称来引用SVG对象,相比于通过手动计算像素位置通过CSS样式定位图片,显然方便了很多。

    2.9K60

    前端面试题-HTML+CSS

    DOCTYPE>声明必须是 HTML 文档第一行,位于 html 标签之前 HTML5 不基于 SGML,所以不需要引用 DTD。 HTML5 <!...Get 传送数据量较小,不能大于 2KB。...没有定位,元素出现在正常 relative(相对定位):生成相对定位元素,相对于其正常(原先本身)位置进行定位 absolute(绝对定位):生成绝对定位元素,相对于 static...定位以外第一个父元素进行定位 fixed(固定定位):生成绝对定位元素,相对于浏览器窗口进行定位 6. display:none 与 visibility:hidden 区别 区别 display...:none visibility:hidden 是否占据空间 不占据任何空间,文档渲染时,该元素如同不存在(但依然存在文档对象模型树) 该元素空间依旧存在 是否渲染 会触发 reflow(回流)

    99930

    Android 矢量图详解

    VectorDrawble 是 xml 文件定义矢量图形。xml 文件定义矢量图形,它是一组带有颜色信息点、线和曲线,使用矢量图主要优点是图形可伸缩性。...可以不损失显示质量情况下进行缩放,这意味着我们可以不同屏幕密度手机上使用相同文件。这样会使 APK 文件变小更加有利于开发人员维护。我们还可以通过多个 XML 文件和矢量图结合用于动画。...而我们 VectorDrawable 是编程,它仅支持 SVG 规范中有限内容。Android Studio 支持将 SVG 文件转换成 VectorDrawable 。...该值相对于 vector viewport 值来指定。 android:pivotY 定义缩放和旋转该 group 时候 Y 参考点。...注意如果动画使用这个两个属性值的话,animated-vector target 对应 name 必须是 path 类型不能是 group 效果图: ?

    1.1K30

    D3.js 力导向图显示优化(二)- 自定义功能

    支持按钮缩放功能 说完删除选中点,可视化视图中缩放操作也是比较常见功能,D3.js d3.zoom() 就是用来实现缩放功能,且该方法经过其他厂业务考验相对来说成熟稳定,那我们还有什么理由要自己做呢...通过查看 d3.zoom() 代码,我们发现 D3.js 本质是获取事件 d3.event 缩放值再针对整个画布修改 transform 属性值,但这样处理 svg 节点和边元素 x、y 坐标不发生变化...发现问题形成原因是解决问题第一步,下面来解决下问题,进行缩放时添加一个节点和边相对画布大小偏移量变化处理逻辑,好,那开始操作吧。...scale 参数是我们根据控件滚动条缩放值来生成,我们需要记录这个值来放大画布(svg 元素),从来造成视图缩小效果。...简单说,画布放大 scale 倍,节点和边 x、y 位置也要相对画布偏移当前 scale 倍,这样就能保持缩放过程,节点和边位置相对画布大小变化而保持不变。

    4.3K50

    css基础样式2

    /背景图片容器定位区域大小减去图片大小。...参数 fixed 此关键字表示背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素内容滚动。 local 此关键字表示背景相对于元素内容固定。...如果一个元素拥有滚动机制,背景将会随着元素内容滚动, 并且背景绘制区域和定位区域是相对于可滚动区域而不是包含他们边框。...scroll 此关键字表示背景相对于元素本身固定, 而不是随着它内容滚动(对元素边框是有效)。...以下例子设置line-height=2,由于浏览器默认字体大小是16px,就相当于设置line-height=32px。由于p字体是60px,所以p内容就被压缩在一起了 ?

    1.4K40

    Css-移动端适配总结 前言PC端Mobile总结参考&引用

    event事件和媒体查询 event三对属性: pageX/Y: 给出CSS像素相对于html元素坐标 clientX/Y: 给出CSS像素相对于viewport坐标 screenX/Y:...给出设备像素相对于屏幕坐标 媒体查询: 基于viewport(documentElement .clientWidth/Height) @media all and (max-width: 400px...首先要理解设置成1.0就是意味着没有缩放,而这样却可以达到ideal viewport效果, 那么很明显, 缩放相对于 ideal viewport来进行缩放,当对ideal viewport进行...重做 border ,并 transform scale 缩小一半,原先元素相对定位,新做 border 绝对定位。...大佬认为, 当用户使用更大屏幕时候, 他应该能看到更多内容, 而且设计稿被放大或者缩小的话, 会失去他原来感觉。

    2.4K20

    使用 Node.js 定制你技术雷达:中篇

    页面雷达图中坐标点和技术列表内容是通过数据 ID 字段进行一一对应,不论对列表元素还是雷达点进行操作,都会关联选中状态到对应元素上。...可以看到元素位置是写在 SVG 变换属性 transform ,通过设置其缩放属性 scale 和变形属性 transform 来玩。...元素偏移位置: left 0 top -924 相对偏移: left => 0 top => -924 可以看到元素 SVG 图中定位使用属性坐标和我们全局捕捉鼠标使用坐标数值有较大差异,为了进一步判断...,我们需要做一些额外计算辅助推理:试着使用 SVG 元素全局坐标和其相对元素偏移相减,发现数字还是偏差较大,试着直接用结果除缩放数值,得到 544.52 这个和属性坐标 515 相对较近数值。...猜测这里有一定偏移计算,结合 SVG 和 HTML 定位体系都是基于元素左上角端点,这个日志采样点应该相对计算点位置偏“右下”,结果相比较属性值偏大应该是合理

    1.6K00

    使用 Node.js 定制你技术雷达:中篇

    页面雷达图中坐标点和技术列表内容是通过数据 ID 字段进行一一对应,不论对列表元素还是雷达点进行操作,都会关联选中状态到对应元素上。...可以看到元素位置是写在 SVG 变换属性 transform ,通过设置其缩放属性 scale 和变形属性 transform 来玩。...元素偏移位置: left 0 top -924 相对偏移: left => 0 top => -924 可以看到元素 SVG 图中定位使用属性坐标和我们全局捕捉鼠标使用坐标数值有较大差异,...为了进一步判断,我们需要做一些额外计算辅助推理:试着使用 SVG 元素全局坐标和其相对元素偏移相减,发现数字还是偏差较大,试着直接用结果除缩放数值,得到 544.52 这个和属性坐标 515 相对较近数值...猜测这里有一定偏移计算,结合 SVG 和 HTML 定位体系都是基于元素左上角端点,这个日志采样点应该相对计算点位置偏“右下”,结果相比较属性值偏大应该是合理

    2K20

    D3.js库-1-入门篇

    解压后,HTML文件包含相关js文件即可 [D3.js]https://github.com/d3/d3/releases/download/v5.16.0/d3.zip 通过采用...DOM:文档对象模型,用于修改文档内容和结果 SVG:可缩放矢量图形,用于绘制可视化图形 以上知识点没有必要掌握非常精通,建议到W3school快速入门,了解基本概念,再看几个案例demo,以后遇到不懂地方可以进行查看...D3测试了Firefox、Chrome、Safari、Opera和IE9。D3大部分组件可以浏览器运行。 Chrome是最好选择。强大调试功能会让你事半功倍!...XML分支语言之一,用于标记可缩放矢量图形 SVG-菜鸟课程 SVG|MDN SVG图像入门教程|阮一峰老师 D3.js 第一个推荐网站肯定是D3官网,包含很多示例和API文档,都是根据最新版本发布...第一个D3.js程序 ? 代码解释: body标签中放入两个p标签,没有写入内容 定义变量p,通过链式调用获取到全部p元素,即selectAll()方法 通过text()方法来写入内容,进行输出

    19.2K30

    每天10个前端小知识 【Day 16】

    前端面试基础知识题 1.为什么有时候⽤translate来改变位置⽽不是使用position进行定位? translate 是 transform 属性⼀个值。...中文版浏览器 与网页语言无关,取决于用户Chrome设置里(chrome://settings/languages)把哪种语言设置为默认显示语言。...系统级最小字号 浏览器默认设定页面的最小字号,用户可以前往 chrome://settings/fonts 根据需求更改。 而我们实际项目中,不能奢求用户更改浏览器设置。...需要注意是,自从chrome 27之后,就取消了对这个属性支持。同时,该属性只对英文、数字生效,对中文不生效。 总结 Zoom 非标属性,有兼容问题,缩放会改变了元素占据空间大小,触发重排。...我们虽然可以通过绝对定位相对定位,浮动定位脱离文档流,但它仍然属于默认复合层,共用同一个绘图上下文对象(GraphicsContext)。

    15710
    领券