前端学习教程-SVG描边属性

news2024/11/18 20:01:56

前端学习教程-SVG描边属性,SVG提供了大量的笔画属性,实现各种各样的描边效果。我们来介绍一下:

stroke:笔画属性,

stroke-width:笔画宽度属性,

stroke-linecap:笔画线帽属性,

stroke-dasharray:虚线笔画属性。

所有的描边属性都可以应用于任何类型的线条、文本和元素的轮廓,如 circle。

首先我们学习 stroke 属性,它定义了一个元素的线条、文本或轮廓的颜色,值是任何合法的颜色值。

打开编辑器,新建一个 stroke-properties.html 文件,补全基础代码,在 body 里添加一个 svg 标签,定义属性 width 等于 300,height 等于 80。

在 svg 里添加 g 标签,给它定义一个 fill 属性,值为 none。

在 g 标签里添加 path 标签,定义属性 stroke 等于 red,再定义一个 d 属性,画一条线。

复制两个 path 标签。

修改线条的起点坐标。

修改第二条线的描边颜色为 black。修改第三条线的描边颜色为 blue。保存文件。

在浏览器中预览,三条颜色不同的线条就绘制好了。

接下来我们学习 stroke-width 笔画宽度属性。它定义了一个元素的线条、文本或轮廓的厚度。值是一个数字。

回到编辑器,在上个 svg 结尾处添加一个 br 标签。回车换行。

添加一个新的 svg 标签,属性 width 等于 300,height 等于 80。

在 svg 里添加 g 标签,给它定义一个 fill 属性,值为 none。stroke 属性,值为 black。

在 g 标签里添加 path 标签,定义属性 stroke-width 等于 2,再定义一个 d 属性,画一条线。

复制两个 path 标签。

修改线条的起点坐标。

修改第二条线的线宽为 4。修改第三条线的线宽为 6。保存。

在浏览器中预览,三条线厚度不同的黑色线条就绘制好了。

接下来我们学习 stroke-linecap, 笔画线帽属性。它定义了一个开放路径的不同类型的结束点。它的值是有三个:

butt ([bʌt]) ,没有线帽,也是默认属性。

round ([raʊnd]),圆形线帽。

square ([skwer]),方形线帽。

回到编辑器,在上个 svg 结尾处添加一个 br 标签。回车换行。

添加一个新的 svg 标签,属性 width 等于 300,height 等于 80。

在 svg 里添加 g 标签,给它定义一个 fill 属性,值为 none。stroke 属性,值为 black,stroke-width 属性,值为 6。

在 g 标签里添加 path 标签,定义属性 stroke-linecap 等于 butt,再定义一个 d 属性,画一条线。

复制两个 path 标签。

修改线条的起点坐标。

修改第二条线的线帽属性为 round。修改第三条线的线帽属性为 square。保存。

在浏览器中预览,三条线帽不同的黑色线条就绘制好了。

接下来我们学习 stroke-dasharray 属性,dasharray,直译过来就是虚线序列。这个属性用来创建虚线。它的值是一个数字序列,以此定义虚线的线条与空隙的大小,序列值是个数字,至少定义两个值。比如,"20,20" (直接读 20 20),是这样的虚线;"20, 10, 5, 5 ,5, 10" 是这样的虚线!

回到编辑器,在上个 svg 结尾处添加一个 br 标签。回车换行。

添加一个新的 svg 标签,属性 width 等于 300,height 等于 80。

在 svg 里添加 g 标签,给它定义一个 fill 属性,值为 none。stroke 属性,值为 black,stroke-width 属性,值为 4。

在 g 标签里添加 path 标签,定义属性 stroke-dasharray 等于 "5,5" ,再定义一个 d 属性,画一条线。

复制两个 path 标签。

修改线条的起点坐标。

修改第二条线的虚线序列值。修改第三条线的虚线序列值。保存。

在浏览器中预览,三条不同的虚线就绘制好了。

前端学习教程icon-default.png?t=M85Bhttp://wap.mobiletrain.org/study/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/70094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文读懂如何使用PyCharm为飞桨提PR

本文以使用PyCharm进行飞桨中文文档修复为例,详细介绍了如何给飞桨提交PR(Pull Request)。 背景介绍 关于飞桨框架 飞桨框架是一个开源深度学习框架,源代码公开在GitHub上的PaddlePaddle中。该目录下包括飞桨核心框架代码库Pa…

51单片机——IO拓展(串转并)-74HC595 小白详解

74HC595 芯片介绍 74HC595 是一个 8 位串行输入、并行输出的位移缓存器,其中并行输出为三 态输出(即高电平、低电平和高阻抗)。芯片管脚及功能说明如下:图1 上面两张都是 74HC595 芯片管脚图,细心的朋友就会发现左侧的…

python+django在线考试系统39n99

目 录 目 录 III 第一章 概述 1 1.1 研究背景 1 1.2 开发意义 1 1.3 研究现状 1 1.4 研究内容 2 1.5 论文结构 2 第二章 开发技术介绍 1 第三章 系统分析 1 3.1 可行性分析 1 3.1.1 技术可行性 1 3.1.2 操作可行性 1 3.1.3 经济可行性 …

STM32频率测量

频率测量是个最基本的且常见的工业需求. 但是这种简单的需求却不是那么的好实现. 总体来看, 目前的单片机还是有很大的改进空间. 很少有频率测量能够覆盖所有的频率范围. 而使用 STM32F103 性能有限. 根据待测频率, 我分成低中高, 三个阶段. 分别对应着3种不同的测量方法. 低频…

springboot 协同办公OA管理系统源码带文字安装教程【免费分享】

Java协同办公OA管理系统源码带文字安装教程 文末获取源码! 框架:springboot freemark jpa mybatis mysql 环境:jdk8 mysql5.7 IntelliJ IDEA maven nginx 宝塔面板 这是一套OA办公系统,使用Maven作项目管理,基…

NETCAD GIS快速而简单的搜索引擎

NETCAD GIS快速而简单的搜索引擎 NETCAD GIS是一种支持国际标准的CAD和GIS软件,旨在为用户设计和使用地理信息系统。它还提供了CAD、GIS和光栅与未来的强大连接。 该程序也是一个快速而简单的搜索引擎,只能通过向查看器键入几个单词来访问,并…

嵌入式开发学习之--中断应用概览

文章目录前言一、什么是NVIC1.1NVIC 简介1.2 NVIC 寄存器简介二、中断优先级2.1优先级定义2.2优先级分组三、中断编程总结前言 中断是系统逻辑十分常用的,学好中断,以及中断优先级的合理配置,才能使自己的项目更加稳定。 提示:以…

rdd 相关信息整理

RDD 是什么? 官网描述 A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. Represents an immutable, partitioned collection of elements that can be operated on in parallelRDD 是三个单词的首字母缩写,它表示弹性分布式数…

火爆全网的ChatGPT上手体验,文尾免费送账号!

文章目录1. ChatGPT公开信息2. ChatGPT上手体验3. ChatGPT目前趋势4. 福利派送1. ChatGPT公开信息 近期关于网路上对 ChatGPT(OpenAI发布的一款人工智能对话引擎)的讨论比较多。官方对ChatGPT的定义如下: We’ve trained a model called Cha…

[Linux打怪升级之路]-文件操作

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。 目录 一、认识操…

python -- PyQt5(designer)中文详细教程(七)控件2

控件2 本章我们继续介绍PyQt5控件。这次的有 QPixmap , QLineEdit , QSplitter ,和 QComboBox 。 图片 QPixmap 是处理图⽚的组件。本例中,我们使用 QPixmap 在窗⼜⾥显示⼀张图片。 from PyQt5.QtWidgets import (QWidget, QH…

PLC远程监控助力食品废水处理智能化管理

食品加工行业是用水大户,因其原料广泛、成品丰富,中间需要多种不同的加工工艺,因此排放的废水差异很大,废水量也不一样,对污水处理厂提出不同的要求。为了保证污水处理工作的稳定进行,保证视频废水的净化效…

Matplotlib入门[06]——figures,subplots,axes和ticks对象

Matplotlib入门[06]——figures,subplots,axes和ticks对象 参考: https://ailearning.apachecn.org/Matplotlib官网matplotlib xticks yticks import matplotlib.pyplot as pltfigures,axes和ticks的关系 这些对象的关系可以用下图表示&…

基于jsp+mysql+ssm服装商城平台-计算机毕业设计

项目介绍 实现一个基于SSM框架的服装商城平台的的设计与开发。实现用户从浏览服装,搜索服装,加入购物车,下订单,评论服装一整个购物流程的功能,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统使用mysql…

Matter中国开发者大会实录(2022年12月2日,深圳)

目录 背景介绍 Nodic-Matter Silicon Labs-Matter Telink-Matter NXP-Matter BEKEN-Matter ESP32-Matter 背景介绍 2022年12月2日,Matter中国区开发者大会在深圳举行。大概有300多位开发者到会,我也是其中的300分之一。这次大会从早上9点半开始&a…

pybind11的Hello World

pybind11的Hello World pybind11 是用来将c的函数\类等封装为python模块的。从而在python中就可以调用C的库。 安装 pybind11是个C的header-only的库。因此无需安装,只需要有头文件即可。 自己新建一个C文件夹。在文件夹内将pybind作为一个外部库,使…

第七次更新,Spring Cloud Alibaba,迎接微服务生态的下一个十年

Spring Cloud Alibaba是什么? 2022年都快过完了,我相信大家肯定不用我说Spring Cloud Alibaba是什么了! 近期阿里最新开源了一份,Spring Cloud Alibaba(全解第7版),我大概看了一下&#xff0c…

JAMA Neurology:帕金森病跨疾病阶段的新兴神经成像生物标记物

意义:帕金森病(PD)的成像生物标记物在临床试验中的发病进程监测方面起到越来越重要,也具有改善临床护理和管理的潜力。这篇综述阐述了临床医生和研究人员需要明确在临床过程中使用的PD诊断和发病进程的成像生物标记物的时间相关性。磁共振成像(扩散成像、…

目标检测算法——人体姿态估计数据集汇总(附下载链接)

🎄🎄近期,小海带在空闲之余收集整理了一批人体姿态估计数据集供大家参考。 整理不易,小伙伴们记得一键三连喔!!!🎈🎈 一、KTH 多视图足球数据集 数据集链接&#xff1a…

python快速实现NPV净现值计算

净现值指未来资金(现金)流入(收入)现值与未来资金(现金)流出(支出)现值的差额,是项目评估中净现值法的基本指标。未来的资金流入与资金流出均按预计折现率各个时期的现值…