1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 预加载动画效果实现 css3总结 整理 附上svg用法及stroke-dasharray和stroke-dashoffset理解(9)

预加载动画效果实现 css3总结 整理 附上svg用法及stroke-dasharray和stroke-dashoffset理解(9)

时间:2022-11-14 13:34:12

相关推荐

预加载动画效果实现 css3总结 整理 附上svg用法及stroke-dasharray和stroke-dashoffset理解(9)

需要用到animation知识,参考博主之前博文

还有svg基础知识,参考后文

<div class="preloader"><svg><!-- <circle> SVG 元素是一个SVG的基本形状,x,y轴坐标,半径,。--><circle class="path" cx="50" cy="50" r="20" fill="none" stroke-width="2"></circle><!--注:与SVG2开始,x,y,width,和height是几何Propertie S,这意味着这些属性也可以用作CSS属性。全局属性fill它定义了它应用的图形元素内部的颜色。stroke-width定义要应用于形状的笔触的宽度。值:<length> | <百分比> ; 动画:是的--></svg></div>

<style>.preloader {z-index: 1;position: absolute;border: 1px red solid;width: 100%;}/*infinite无限*/.preloader .path {-webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;}/*关键的关键是,设置关键帧,针对什么类*/@-webkit-keyframes dash {/*stroke-dasharray:给的一个数,那么就是实线为1,虚线也是1,两个数就是实线1 虚线200相当于没有* 而单独89 ,除开虚线89,不足以再产生一条虚线官方没有给逗号,给不给都可以默认起点,即偏移为0情况,封闭图形,即是顺时针方向,负数为逆时针*/0% {stroke-dasharray:1,200;stroke-dashoffset: 0;}50% {stroke-dasharray: 89;/*stroke-dashoffset: -35px;*//*起点拽回顺时针30开始*/}100% {stroke-dasharray:89 200;stroke-dashoffset: -126;/*负值为逆时针方向,顺着轨迹移动126,即是产生消失效果*/}}/*stroke-dasharray="167" stroke="red"* <!--stroke-dasharray="167" stroke="red" 这意味着疏密程度变化 ,要么百分数,要么数字,实际上相对周长而言,比如* r=20 周长为120左右,89差不多占据四分之三-->*//** 作为呈现属性,它可以被应用到任何元素,但它只有在下列十元素效果:* <altGlyph>,<circle>,<ellipse>,<path>,<polygon>,<polyline>,<rect>,<text>,<textPath>,<tref>,和<tspan>* stroke-dasharray定义用于绘制形状轮廓的破折号和间隙的图案。价值:none| <dasharray>; 动画:是的个人理解是间隙和非间隙的比例,单独一个数,那么间隙和非间隙都是它,两个数, 正好一个是非间隙,一个是间隙,重点是stroke-dashoffset定义关联的虚线阵列的渲染时的偏移量。值:<百分比> | <length> ; 动画:是的*/@keyframes dash {0% {stroke-dasharray: 1, 200;stroke-dashoffset: 0;}50% {stroke-dasharray: 89, 200;stroke-dashoffset: -35px;}100% {stroke-dasharray: 89, 200;stroke-dashoffset: -126px;}}@-webkit-keyframes color {100%,0% {stroke: #d62d20;}/*40% {stroke: #0057e7;}66% {stroke: #008744;}80%,90% {stroke: #ffa700;}*/}@keyframes color {100%,0% {stroke: #d62d20;}40% {stroke: #0057e7;}66% {stroke: #008744;}80%,90% {stroke: #ffa700;}}</style>

svg元件是一个定义一个新的坐标系和容器视口。它用作SVG文档的最外层元素,但它也可用于在SVG或HTML文档中嵌入SVG片段。

注意:xmlns只有SVG文档的最外层svg元素才需要该属性。内部元素或HTML文档内部不需要它。svg

<span style="color:#333333"><span style="color:#333333"><code class="language-html"><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"><</span>svg</span> <span style="color:#669900">viewBox</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>0 0 300 100<span style="color:#999999">"</span></span> <span style="color:#669900">xmlns</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>/2000/svg<span style="color:#999999">"</span></span> <span style="color:#669900">stroke</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>red<span style="color:#999999">"</span></span> <span style="color:#669900">fill</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>grey<span style="color:#999999">"</span></span><span style="color:#999999">></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"><</span>circle</span> <span style="color:#669900">cx</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>50<span style="color:#999999">"</span></span> <span style="color:#669900">cy</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>50<span style="color:#999999">"</span></span> <span style="color:#669900">r</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>40<span style="color:#999999">"</span></span> <span style="color:#999999">/></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"><</span>circle</span> <span style="color:#669900">cx</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>150<span style="color:#999999">"</span></span> <span style="color:#669900">cy</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>50<span style="color:#999999">"</span></span> <span style="color:#669900">r</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>4<span style="color:#999999">"</span></span> <span style="color:#999999">/></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"><</span>svg</span> <span style="color:#669900">viewBox</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>0 0 10 10<span style="color:#999999">"</span></span> <span style="color:#669900">x</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>200<span style="color:#999999">"</span></span> <span style="color:#669900">width</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>100<span style="color:#999999">"</span></span><span style="color:#999999">></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"><</span>circle</span> <span style="color:#669900">cx</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>5<span style="color:#999999">"</span></span> <span style="color:#669900">cy</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>5<span style="color:#999999">"</span></span> <span style="color:#669900">r</span><span style="color:#0077aa"><span style="color:#999999">=</span><span style="color:#999999">"</span>4<span style="color:#999999">"</span></span> <span style="color:#999999">/></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"></</span>svg</span><span style="color:#999999">></span></span><span style="color:#990055"><span style="color:#990055"><span style="color:#999999"></</span>svg</span><span style="color:#999999">></span></span></code></span></span>

在CodePen中打开在JSFiddle中打开

属性Section

baseProfile自SVG 2以来已弃用

文档所需的最小SVG语言配置文件。

值类型:<string>;默认值:无;动画:没有

contentScriptType自SVG 2以来已弃用

SVG片段使用的默认脚本语言。

值类型:<string>;默认值:application/ecmascript;动画:没有

contentStyleType自SVG 2以来已弃用

SVG片段使用的默认样式表语言。

值类型:<string>;默认值:text/css;动画:没有

height

显示矩形视口的高度。(不是其坐标系的高度。)

值类型:<length>|<百分比>;默认值:auto;动画:是的

preserveAspectRatio

svg如果片段以不同的宽高比显示,则片段必须如何变形。

值类型:(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)(meet|slice)?;默认值:xMidYMid meet;动画:是的

version自SVG 2以来已弃用

哪个版本的SVG用于元素的内部内容。

值类型:<number>;默认值:无;动画:没有

viewBox

当前SVG片段的SVG视口坐标。

值类型:<list-of-numbers>;默认值:无;动画:是的

width

显示的矩形视口宽度。(不是其坐标系的宽度。)

值类型:<length>|<百分比>;默认值:auto;动画:是的

x

显示svg容器的x坐标。对最外层svg元素没有影响。

值类型:<length>|<百分比>;默认值:0;动画:是的

y

svg容器的显示y坐标。对最外层svg元素没有影响。

值类型:<length>|<百分比>;默认值:0;动画:是的

注:与SVG2开始,xywidth,和height是几何PropertieS,这意味着这些属性也可以用作CSS属性。

全局属性Section

核心属性

最值得注意的是:idtabindex

样式属性

classstyle

条件处理属性

最值得注意的是:requiredExtensionssystemLanguage

事件属性

全局事件属性,图形事件属性,文档事件属性,文档元素事件属性

演示属性

最值得注意的是:clip-pathclip-rulecolorcolor-interpolationcolor-renderingcursordisplayfillfill-opacityfill-rulefiltermaskopacitypointer-eventsshape-renderingstrokestroke-dasharraystroke-dashoffsetstroke-linecapstroke-linejoinstroke-miterlimitstroke-opacitystroke-widthtransformvector-effectvisibility

咏叹调属性

aria-activedescendantaria-atomicaria-autocompletearia-busyaria-checkedaria-colcountaria-colindexaria-colspanaria-controlsaria-currentaria-describedbyaria-detailsaria-disabledaria-dropeffectaria-errormessagearia-expandedaria-flowtoaria-grabbedaria-haspopuparia-hiddenaria-invalidaria-keyshortcutsaria-labelaria-labelledbyaria-levelaria-livearia-modalaria-multilinearia-multiselectablearia-orientationaria-ownsaria-placeholderaria-posinsetaria-pressedaria-readonlyaria-relevantaria-requiredaria-roledescriptionaria-rowcountaria-rowindexaria-rowspanaria-selectedaria-setsizearia-sortaria-valuemaxaria-valueminaria-valuenowaria-valuetextrole

使用说明Section

产品规格Section

浏览器兼容性Section

更新GitHub上的兼容性数据

传说

全力支持

全力支持

没有支持

没有支持

兼容性未知

兼容性未知

已过时。不适用于新网站。

已过时。不适用于新网站。

吐糟一句:还是看权威写法,网上查到消息,看起来写的很清晰简单的样子,但是有些核心问题,仍然没有答案,当然有也不太敢相信,比如在html中将svg作为标签使用,是否该引用xmlns属性,没有答案,但是官方一些,权威一些的网站

/en-US/docs/Web/SVG/Element/svg如下所示,说的清清楚楚,html文档内部不需要

/p/f5b510b656f2一开始看了这个文章,也不错,但总觉得万一遇到其他元素呢,能不能查到呢?最后还是要看官方一些的

/svg2-draft/painting.html#StrokeDashing

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。