美文网首页
前端学习笔记1

前端学习笔记1

作者: 0清婉0 | 来源:发表于2021-02-24 21:12 被阅读0次

    【CSS3——简单的饼图】

    <div class="pie" style="animation-delay:-20s;"></div>

    <div class="pie" style="animation-delay:-60s;"></div>

    @keyframes spin{

        to{transform: rotate(.5turn);}

    }

    @keyframes bg{

        50%{background:#655}

    }

    .pie{

        width:100px;

        height:100px;

        border-radius: 50%;

        background:yellowgreen;

        background-image: linear-gradient(to right, transparent 50%, #655 0%);

    }

    .pie::before{

        content:'';

        display: block;

        margin-left:50%;

        height: 100%;

        /*outline: 1px dashed white;*/

        /*重叠右半部分*/

        background-color: inherit;

        border-radius: 0 100% 100% 0 / 50%;

        transform-origin: left;

        /*使重叠部分转起来*/

        transform: rotate(.8turn);

        animation: spin 50s linear infinite,

                    bg 100s step-end infinite;

        animation-play-state: paused;

        animation-delay: inherit;

    }

    【SVG】

    越来越多的公众号在图文消息中加入了SVG动画交互效果,今天我也来了最简单的效果吧。

    文字动效

    * {

        margin: 0;

        padding: 0;

        box-sizing: border-box!important;

        word-wrap: break-word!important;

    }

    html, body {

        height: 100%;

    }

    body {

        padding: 0 15px;

        font-family: 'Microsoft Yahei', 'helvetica neue', helvetica, sans-serif;

    }

    </style>

    <section style="margin:0px auto;max-width:360px;text-align:center;overflow:hidden;">

        <svg viewBox="0 0 1080 620" width="100%" height="620px" preserveAspectRatio="xMinYMin meet" xmlns="http://www.w3.org/2000/svg">

            <g>

              <animate attributeName="opacity" begin="0s" dur="1s" values="1;0;1" repeatCount="indefinite"></animate>

              <text x="340" y="1750" fill="#000" style="font-size:36px">点一下屏幕,有请主角</text>

            </g>

        </svg>

    </section>

    viewBox="x,y,w,h"

    x,y控制SVG内所有元素的相对位置,不影响SVG的背景图

    w,h控制SVG宽高,是SVG的内分辨率,不是SVG元素的dom尺寸

    w、h越大,svg内的元素越小,反之,元素则越大

    建议viewBox的x、y值设置为0,w、h设置为背景图的尺寸

    preserveAspectRatio属性用来设置viewBox的缩放和对齐方式,xMinYMin meet的意思是根据视口的宽高进行等比例缩放,这里的视口是width和height值组成的矩形区域

    attributeName 为动画控制的属性,这里为opacity透明度

    begin为动画开始时间(延迟时间),0s表示立即开始动画,也可以是分号分隔的一组值,例如begin="3s;5s"表示的是3s之后动画开始,6s时候动画再重新开始(如果之前动画没走完,会立即停止从头开始)

    dur为动画时间,dur越小,动画越快

    values表示attributeName指定属性的值变化,可以是一个值,也可以是用分号分隔的多个值,这里的"1;0;1"表示“不透明->透明->不透明”,即闪烁效果。

    repeatCount,表示动画重复次数,indefinite=无数次

    相关文章

      网友评论

          本文标题:前端学习笔记1

          本文链接:https://www.haomeiwen.com/subject/pgqefltx.html