SVG 学习<二>进阶

SVG分组——g标签

g标签在svg标签内使用,功能用来对图形,文字,线段进行分组。

HTML代码

    <svg class="svg">
        <g class="g_1">
            <rect x="20" y="20"/><rect x="240" y="20" />
        </g>
        <g class="g_2">
            <circle cx="100" cy="200" /><circle cx="220" cy="200" />
        </g>
    </svg>

CSS代码

.g_1{
    stroke:rgb(0,0,0);
    stroke-width:2px;
    fill:rgb(0,255,255);
}
rect{ width:200px; height:100px; }
.g_2{
    stroke:rgb(220,17,20);
    stroke-width:2px;
    fill:rgb(255,255,255);
}
circle{ r:50px; }

g标签可以对一组图形,文字或线段的笔触色,填充色,笔触宽度进行统一定义

文本

HTML代码

    <svg class="svg">
        <text x="20" y="60" class="text">SVG文本</text>
    </svg>

CSS代码

.text{
    fill:rgb(221,20,17);
    font-size: 30px;
    font-weight: 900;
}

注意:

svg文本的 x y 位置不能在css中设置必须在标签中作为属性设置,且svg文本的默认x = 0 , y = 0。重点是y = 0也就是说没设置y 文字基本看不到。

普通文本的css样式同样对svg文本有效,例如 font-size  font-weight... ...

文本旋转

HTML代码

        <svg class="svg">
        <text x="20" y="60" transform="rotate(30 20 40)" class="text">SVG文本</text>
    </svg>

transform同样不能在css中设置,仅为标签属性。

旋转 rotate参数 : 旋转角度  X轴位置  Y轴位置。

缩放 scale参数:缩放倍数 0~n。

SVG曲线文本

HTML代码

    <svg class="svg">
        <defs>
            <path id="path1" d="M75,20 a1,1 0 0,0 100,0" />
        </defs>
        <text style="fill:red;">
            <textPath xlink:href="#path1">SVG曲线文本,SVG曲线文本</textPath>
        </text>
    </svg>

textPath可以把文本和path关联起来,dafs下的path定义文本曲线的路径规则。(path稍后介绍)

未完待续... ...

时间: 2024-09-29 16:15:27

SVG 学习<二>进阶的相关文章

SVG 学习&lt;五&gt; SVG动画

先上个动画图 说道SVG动画不得不提到两个属性:stroke-dasharray(这个前面有提到,做虚线的)stroke-dashoffset (这个是关键). 先说说stroke-dasharray 之前提过 可以把线条做成虚线状,值可以为一个数值 也可以是一个数组.详见:SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 最后一段.在动画里 stroke-dasharray 用来绘制路径或者虚线环绕效果. stroke-dashoffset : 官方解释 svg的

Jmeter进阶学习二(参数化)

1.疑问:为啥要使用参数化? 在测试过程中,参数化也是一种很重要的东西,比如:如果系统过程中多次使用同一个id,万一此id发生变化了,就需要每个文件中id一个一个的进行修改,如果使用参数化的话,就只需修改一个文件即可: 这样的话可以减少工作量: 2.此处采用的是用户定义的变量: 3.如何调用定义的变量? ...... 未完待续.... Jmeter进阶学习二(参数化)

HTML5实战——svg学习

百度百科: SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式.SVG是W3C制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准.SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式. 什么是SVG? SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用来定义用于网络的基于矢量的图形 SVG 使用 XML 格

[翻译]svg学习系列 开篇

网上svg的资料太少 买个书也买不到 碰巧遇到一个外国友人的svg学习些列,翻译下 http://tutorials.jenkov.com/svg/index.html svg 简介 可缩放矢量图形是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式.它由万维网联盟制定,是一个开放标准. 今天的现代多数浏览器都支持SVG  ie9+ 火狐 chrome 等 svg 最大的用途就是绘图 各种图标 等 ,在网页上直接绘图 因为svg本身的dom节点,所以可以和网页上其他

Vue学习笔记进阶篇——过渡状态

本文为转载,原文:Vue学习笔记进阶篇--过渡状态Vue 的过渡系统提供了非常多简单的方法设置进入.离开和列表的动效.那么对于数据元素本身的动效呢,比如: 数字和运算 颜色的显示 SVG 节点的位置 元素的大小和其他的属性 所有的原始数字都被事先存储起来,可以直接转换到数字.做到这一步,我们就可以结合 Vue 的响应式和组件系统,使用第三方库来实现切换元素的过渡状态. 状态动画和watcher 通过 watcher 我们能监听到任何数值属性的数值更新.可能听起来很抽象,所以让我们先来看看使用 T

SVG学习笔录(一)

SVG可缩放矢量图形(Scalable Vector Graphics)这项技术,现在越来越让大家熟知,在h5的移动端应用使用也越来越广泛了, 下面让我分享给大家svg学习的经验. HTML体系中,最常用的绘制矢量图的技术是SVG和HTML5新增加的canvas元素.这两种技术都支持绘制矢量图和光栅图. 一.什么是svg? Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式.SVG是W3C在2000年8月制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标

关于《iBoard 电子学堂》的学习及进阶方式(精 转)

关于<iBoard 电子学堂>的学习及进阶方式 <iBoard 电子学堂>自发布以来,受到广大网友的热烈关注.虽然我前期设计我花了大量精力,但能得到大家的认可,我也非常欣慰.由于<iBoard 电子学堂>是从工程的角度来设计的综合学习板,所以很多同学拿到板子后,不知道从哪里入手,下面我谈谈我自己的想法. 一.切忌浮躁,做好打持久仗准备 不得不承认,现在的年轻人太浮躁了,包括我自己,整个大的环境就是这样.但是要做做好任何一件事,都是需要时间的.所谓细节决定成败.学习电子知

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,