为什么我的 Svg 位置不正确

已发表: 2023-02-04

在网页上使用 SVG 图像时,可以使用CSS 规则控制其位置。 但是,有时您的 SVG 图像可能不会出现在正确的位置。 这可能是由多种因素造成的,例如图像的大小、图像的位置以及您使用的浏览器。

如何在 Html 中定位 Svg?

如何在 Html 中定位 Svg?
图片来源:https://imgur.com

为了在 html 中定位 svg,您可以使用position 属性。 这将允许您指定 svg 相对于页面其余部分的定位方式。 您还可以使用 top、left、bottom 和 right 属性来指定 svg 的确切位置。

嵌套 svg 元素可用于组织 SVG 文件的元素。 有两个矩形(颜色除外),但 parentsvg 元素具有不同的值。 您可以通过将转换放在 g 元素中来更改内容:。 此图像是 SVG 1.1 标准的示例。 由于翻译 (*transform(x,y)),g 将四处移动,g 内的东西将随之移动。 #group1svg 必须嵌套在#parent 变量中,x=10 是相对于父级的。 一个组标签,比如一个 <svg> 标签,可以用来完成这个。

如何移动 Svg 中的元素?

如何移动 Svg 中的元素?
图片来源:https://css-tricks.com

有几种不同的方法可以在 SVG 中移动元素。 您可以使用 transform 属性,也可以使用 translate 或 translateX/translateY 函数。

如何移动我的 G 标签?

如何移动我的 G 标签?
图片来源:https://oneoffice.se

如果您想将 g 标签移动到新位置,则需要编辑您网站的代码。 找到您的 g 标签所在的代码部分并将其移动到新位置。

什么是 Svg 元素?

svg 元素是一种可用于可缩放矢量图形的元素。 它们用于在网络上创建和操作矢量图形。 有多种创建和操作 svg 元素的方法,它们可用于多种目的。

Svg 的诸多优点

通常,SVG 由于其优于其他类型格式(如 .RDF)的优势而用于 Web 图形。 由于它们的大小,矢量图像可以随心所欲地变大,而光栅图像则限于浏览器窗口的大小。 基于矢量的应用程序,例如 Adob​​e Illustrator 或 Inkscape,可用于编辑图像。 近年来,图像处理变得越来越普遍,这使得在不损坏像素或使光栅图像过时的情况下改变物体的形状成为可能。 可以使用 SVG 的内置动画功能对图像进行动画处理。

Svg 位置

SVG 位置定义元素相对于SVG 视口原点的 x 和 y 坐标。 视口是 SVG 图像的可见区域。 x 和 y 坐标可以用任何单位指定,但最常见的是使用像素。

这个过程有点棘手,并不总是那么简单,结果因浏览器而异。 要配置 viewBox 属性,请使用以下:方法。 导航到 XML Editor 对话框并选择SVG 根元素。 必须遵循多步骤过程才能确定 SVG 中页面的区域。 由于在“文档属性”对话框中修改了“宽度”和“高度”,现在可以正确显示视图框。

Svg 元素位置:相对于父元素

svg 元素 position: relative to parent 是创建响应式设计的好方法。 父元素将是屏幕的大小,子元素将是父元素的大小。 这是创建流畅设计的好方法。

视口定位

如果第一个数字大于第二个,则视口从第一个数字移动到第二个数字; 否则,视口从 (min-x, min-y) 移动到 (min-x, min-y) 并且高度是两者中较小的一个。

React Native-svg 绝对位置

React Native-SVG 提供了一组 API,允许您在 Web 上创建和操作矢量图形。 除了基本的形状,React Native-SVG 还提供了一组 API 用于创建和操作其他 SVG 元素,例如.
React Native-SVG 最强大的方面之一是它的定位:绝对控制。 通过使用绝对控件,您可以将图形放置在页面的任何位置,而不必担心页面上的其他元素。 这使得创建非常复杂的图形成为可能,而不必担心页面上其他元素的位置。

React Native Platform 实现包括 SVG。 当您想要将 SVG 放入您的应用程序时,最好的方法是使用 Silverlight 之类的组件。 ViewBox 定义视口在用户空间中的位置和尺寸。 可以通过在节点的填充字段中输入填充属性来为节点着色。 SVG 库中最强大的元素是路径可以由多条直线或曲线组成,可以形成复杂的形状。 可以创建由直线组成的复杂形状形式的多段线。 折线的主要缺点是它们需要大量的小直线来模拟曲线并且不能缩放到大尺寸。

为此,react-native-vector-icons 包有一个名为 createIconSetFrom 的特殊函数。 这种方法消除了重新计算所有组件的需要,这些组件既复杂又耗时。 您还可以使用 icomoon 或 fontawesome 等应用程序创建自己的字体。 因为每个图标都有一个名称并且文件名是从中复制的,所以在导入文件时,如有必要,请重命名它们。 用于 web 实现的 Foreign Object 协议不支持它,这意味着你不能用它来使用 JSX; 但是,Web 实现支持 HTML。 实现嵌套视图也可能很困难。 panResponders 的行为在所有平台上差异很大。

React Native 让您无需任何安装或配置即可在您的应用程序中使用 Svg 文件。

svg 是一种矢量图形文件格式,最常用于网页设计和动画。 React Native 支持在您的应用程序中使用 svg 文件,而无需创建任何配置或安装任何库。 在您的项目中,您可以包含 react-native-svg。 Android 和 iOS 上的 React Native 项目都可以受益于 react-native-svg 的使用。 使用 react-native-svg-transformer,您可以将本地文件从 Creact React App 项目导入到 React Native 项目中,就像在 Web 上的 Creact React App 项目中一样。 要在 React Native 中使 svg 响应,请将其包装在具有 200% 纵横比的视图中,然后将 SVG 大小设置为 100% 宽度和高度。 Svg.prop () 方法用于将 svg props 传递给您的 React Native 组件。 要访问 Loader.js 文件所在的文件夹,请将文件中的代码复制到该文件夹​​中。 从以下步骤导入 as React 需要以下步骤: * as React from the preceding step; * 作为来自以下步骤的 React; * 作为来自以下步骤的 React; * 作为来自以下步骤的 React。 (svg width = 118 height = 107 fill=none xmlns=”http://www.w3.org/2000/svg”... 这是一种矢量图形文件格式,常用于网页设计和动画。

嵌套 Svg 图形

一个 svg 图形可以嵌套在另一个 svg 图形中。 如果您想在另一个图形中重复使用一个图形,这会很有用。 例如,您可以创建一个简单的圆形图形,然后在更复杂的图形中重复使用它。

通过将一个元素嵌套在另一个元素中,可以将一个元素分组到一个集合中。 当它是 SVg 元素时,svg 元素的封闭位置 (x, y) 将是嵌套在其中的形状的位置。 通过移动x,可以移动x。 除了移动封闭的 elementsvg 之外,您还移动了所有嵌套的形状。 在此示例中,两个矩形嵌套在两个 Svg 元素中。 在这种情况下,您可以定义一个新的视口和视框。 使用该选项时,可以使用css等相对位置。 不幸的是,返回的矩阵没有考虑应用于 SVG 元素的变换,因此我使用变换矩阵来表示使用初始坐标系的元素。

可以缩放 Svg 图像而不会降低质量

尽管并非所有图像都可以在 .VNG 文件中使用,但在创建将以任何尺寸查看的图形时,它们值得考虑。 您可以使用网络浏览器的内置图像工具或 GIMP 或 Adob​​e Illustrator 等在线服务上传图像。