📜  SVG设置元素(1)

📅  最后修改于: 2023-12-03 14:47:46.940000             🧑  作者: Mango

SVG设置元素

SVG(Scalable Vector Graphics,可缩放矢量图形)是一种使用XML语言描述图形的标准。在SVG中,可以通过设置元素来实现对图形的控制和修改。

本文介绍SVG的元素设置方法,包括设置元素的属性、样式和事件。

设置元素属性

SVG元素的属性包括内置属性和自定义属性。内置属性用于控制元素的位置、大小和颜色等基本属性,常用的内置属性包括:

  • x/y:元素的左上角坐标
  • width/height:元素的宽度和高度
  • fill/stroke:元素的填充色和描边颜色
  • stroke-width:描边宽度
  • opacity:元素的透明度

以设置矩形元素为例:

<svg width="100%" height="100%">
  <rect x="50" y="50" width="100" height="100" fill="red" stroke="black" stroke-width="3" opacity="0.8" />
</svg>

以上代码创建了一个左上角坐标为(50,50)、宽度为100、高度为100、填充色为红色、描边颜色为黑色、描边宽度为3、透明度为0.8的矩形。

自定义属性可以用于传递元素的一些信息,常用的自定义属性包括:

  • data-*:以"data-"开头的属性都是自定义属性,一般用于传递元素的数据
  • class:用于指定元素的样式名
  • id:用于指定元素的唯一标识符

以设置圆形元素为例:

<svg width="100%" height="100%">
  <circle cx="100" cy="100" r="50" data-name="my circle" class="circle" id="first-circle" />
</svg>

以上代码创建了一个圆心坐标为(100,100)、半径为50、数据为"my circle"、样式名为"circle"、唯一标识符为"first-circle"的圆形。

设置元素样式

SVG元素的样式可以通过内联样式、嵌入式样式和外部样式表来实现。

内联样式

内联样式通过在元素内部直接设置样式,优先级最高。一般用于对单个元素进行样式设置。

以设置矩形元素的填充色为例:

<svg width="100%" height="100%">
  <rect x="50" y="50" width="100" height="100" style="fill: red" />
</svg>

以上代码创建了一个填充色为红色的矩形。

嵌入式样式

嵌入式样式通过在SVG文件头部定义样式来设置,优先级次于内联样式。一般用于对多个元素进行样式设置。

以设置多个元素的填充色为例:

<svg width="100%" height="100%">
  <style>
    rect { fill: red }
    circle { fill: green }
  </style>
  <rect x="50" y="50" width="100" height="100" />
  <circle cx="100" cy="100" r="50" />
</svg>

以上代码创建了一个填充色为红色的矩形和填充色为绿色的圆形。

外部样式表

外部样式表通过在SVG文件中引入样式表文件来设置,优先级最低。一般用于对整个SVG文件进行样式设置。

以设置SVG文件的背景色为例:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="style.css" type="text/css"?>
<svg width="100%" height="100%">
  <rect x="0" y="0" width="100%" height="100%" />
</svg>

以上代码在SVG文件头部引入了一个名为"style.css"的外部样式表文件,并设置了SVG文件的背景色为黑色。

设置元素事件

SVG元素可以通过设置事件来实现交互功能,常用的事件包括:

  • onload:元素加载完成事件
  • onclick:元素点击事件
  • onmouseover:鼠标滑过事件
  • onmouseout:鼠标滑出事件

以设置圆形元素的点击事件为例:

<svg width="100%" height="100%">
  <circle cx="100" cy="100" r="50" onclick="alert('Hello, world!')" />
</svg>

以上代码创建了一个半径为50的圆形,并在点击事件触发时弹出提示框。

以上就是SVG元素设置的介绍,通过设置元素的属性、样式和事件,可以实现各种丰富的图形效果和交互效果。