精华内容
下载资源
问答
  • 主要介绍了css3动画效果抖动解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • CSS3动画特效

    2018-11-05 19:26:54
    各种CSS3动画特效,可用于各种弹框弹出特效,div框悬停动画
  • css3动画集合

    2018-04-27 16:28:33
    html5 css3 动画 html5 css3 动画 html5 css3 动画 html5 css3 动画
  • 一共27个各式各样的CSS3动画效果源代码,内容如下:纯CSS3模拟风车转动效果纯css3云彩动画效果纯css3制作出来的狐狸尾巴燃烧效果纯CSS3模拟跳动的音乐音符效果多种css3滚动下拉动画加载效果css3颗粒全屏动画效果懒人...
  • 在现有的前端动画体系中,通常有两种模式:JS动画CSS3动画。 JS动画是通过JS动态改写样式实现动画能力的一种方案,在PC端兼容低端浏览器中不失为一种推荐方案。 而在移动端,我们选择性能更优浏览器原生实现方案:...
  • 直播点赞动画,canvas和css3动画都有,各有各的好
  • css3动画效果

    2017-12-13 13:52:25
    css3动画效果,js动画效果,wow动画说明以及在网站中的应用
  • css3动画图标效果

    2017-10-31 16:20:49
    css3动画图标效果 css3动画图标效果 css3动画图标效果
  • css 3 动画实实现点赞动画,技术栈使用到了css 中的transform这个属性,项目中有需要的修改之处,请即使之处,这里会即使修改,
  • 27个精致的CSS3动画效果源代码下载
  • js条件下多次触发同一个css3动画的解决方案demo,配合blog一起使用。js条件下多次触发同一个css3动画的解决方案demo,配合blog一起使用。
  • animate.css定义了大概50多种动画形式,包括淡入淡出,文字飞入、左右摇摆动画等等。使用animate.css也非常简单,你可以给页面上的任意元素,特别是文字添加各种神奇的动画特效。
  • CSS3动画按钮效果 5种漂亮样式,在www.html5tricks.com这边看到的,分享
  • CSS3动画

    千次阅读 2019-07-29 21:19:33
    CSS动画相关属性 JavaScript 实现CSS3动画的三种方式 CSS3变形 CSS3过渡 CSS3动画 CSS3变形 (transform) 每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化 css ...

    CSS3动画

    网页的动态效果

    实现动画效果的四种方式

    1. 动态图片
    2. Flash
    3. CSS动画相关属性
    4. JavaScript

    实现CSS3动画的三种方式

    1. CSS3变形
    2. CSS3过渡
    3. CSS3动画

    CSS3变形 (transform)

    每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化

    css transform:[transform-function] *;

    平移

    translate():平移函数,基于X、Y坐标重新定位元素的位置

    语法格式

    	translateX(tx)
    	表示只设置X轴的位移
    	transform:translate(100px,0) = transform:translateX(100px)
    	translateY(ty)
    	表示只设置Y轴的位移
    	transform:translate(0,100px) = transform:translateY(100px)
    

    课堂案例

    设置a元素在鼠标移入时向右下角移动4px,8px在这里插入图片描述

    缩放

    scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等

    语法格式

    	scale(sx,sy);
    		横向坐标(宽度)方向的缩放量
    		纵轴坐标(高度)方向的缩放量
    	scaleX(sx):表示只设置X轴的缩放
    	transform:scale(2,0) = transform:scaleX(2)
    	scaleY(sy):表示只设置Y轴的缩放
    	transform:scale(0,2) = transform:scaleY(2)
    

    课堂案例

    设置a元素在鼠标移入时放大1.5倍显示在这里插入图片描述

    倾斜

    可以仅设置沿着X轴或Y轴方向倾斜

    语法格式

    	skewX(ax):表示只设置X轴的倾斜
    	skewY(ay):表示只设置Y轴的倾斜
    

    课堂案例

    设置a元素在鼠标移入时向左下角倾斜在这里插入图片描述

    旋转

    元素相对原来中心顺时针旋转,单位使用deg(度)表示

    注意:
    rotate( )函数只是旋转,而不会改变元素的形状
    skew( )函数是倾斜,元素不会旋转,会改变元素的形状

    课堂案例

    定义动画的状态,鼠标移入旋转
    在这里插入图片描述
    也可以四个同时设置

    	transform: skew(15deg)  translate(30px) scale(3.0) rotate(60deg);
    

    练习

    制作照片墙
    在这里插入图片描述
    训练要点
    使用结构伪类选择器选择元素
    使用position定位网页元素
    使用div、img元素布局页面
    使用2D变形(transform)属性操作图片
    需求说明
    使用结构伪类选择器选择每一张图片,把它们分别定位到对应的位置
    使用transform属性为每张图片设置初始的旋转角度
    设置鼠标移入图片特效,当前鼠标移入的图片放大1.5倍、旋转角度变为0°、覆盖在其他图片上面
    实现思路
    使用div元素整体布局页面,使用img元素排版图片
    使用position属性将所有图片全部定位在坐标原点
    使用结构伪类选择器分别选择每一张图片,分别把它们定位到不同的位置,再设置不同的旋转度数
    鼠标移入图片后,图片放大1.5倍且不旋转

    制作旋转按钮
    需求说明
    使用h1、无序列表、超链接a、img布局页面
    使用浮动让列表项排在一行,再清除浮动
    鼠标移入每个超链接上,图片旋转360°,放大1.2倍
    在这里插入图片描述

    CSS 过渡

    transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等

    transition-property 规定设置过渡效果的 CSS 属性的名称。
    定义转换动画的CSS属性名称
    IDENT:指定的CSS属性(width、height、background-color属性等)
    all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
    transition-duration 规定完成过渡效果需要多少秒或毫秒。
    transition-timing-function 规定速度效果的速度曲线。
    指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式
    ease:速度由快到慢(默认值)
    linear:速度恒速(匀速运动)
    ease-in:速度越来越快(渐显效果)
    ease-out:速度越来越慢(渐隐效果)
    ease-in-out:速度先加速再减速(渐显渐隐效果)
    transition-delay 定义过渡效果何时开始。

    格式:
    在这里插入图片描述

    通过一些CSS的简单动作触发样式平滑过渡
    常用动作:
    伪类触发
    :hover
    :active
    :focus
    :checked

    实现步骤
    1.在默认样式中声明元素的初始状态样式
    2.声明过渡元素最终状态样式,如悬浮状态
    3.在默认样式中通过添加过渡函数,添加一些不同的样式

    练习

    照片墙改进
    给每张图片添加过渡效果,用伪类hover触发过渡
    动画的总时长为0.6s,没有延迟,动画方式为ease-in-out

    制作QQ彩贝热销时装页面
    需求说明
    使用div、无序列表、超链接等标签进行有语义的布局页面结构
    鼠标移入图片时,图片向左边位移12px
    使用过渡设置动画时间持续1s,动画的方式为ease-out
    在这里插入图片描述

    CSS 动画

    animation动画简介
    animation实现动画主要由两个部分组成
    通过类似Flash动画的关键帧来声明一个动画
    在animation属性中调用关键帧声明的动画实现一个更为复杂的动画效果

    在这里插入图片描述
    注意:写兼容的时候浏览器前缀是放在@keyframes中间
    例如:@-webkit-keyframes、@-moz- keyframes
    在这里插入图片描述
    动画的播放次数(animation-iteration-count)
    值通常为整数,默认值为1
    特殊值infinite,表示动画无限次播放
    动画的播放方向(animation-direction)
    normal,动画每次都是循环向前播放
    alternate,动画播放为偶数次则向前播放
    动画的播放状态(animation-play-state)
    running将暂停的动画重新播放
    paused将正在播放的元素动画停下来
    动画发生的操作(animation-fill-mode)
    forwards表示动画在结束后继续应用最后关键帧的位置
    backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
    both表示元素动画同时具有forwards和backwards的效果

    练习

    QQ彩贝导航
    训练要点
    使用结构伪类选择器选择元素
    使用position定位网页元素
    使用@keyframes创建关键帧
    使用animation属性引用设置的动画

    实现思路
    给“赚积分”版块设置动画的关键帧
    鼠标指针移入后图片由“赚”变为“赚积分”,并且使用关键帧设置动画
    设置右边“论”图片。在鼠标指针移入时旋转360°
    给“论”图片加上过渡动画效果

    需求说明
    使用定位属性把图片“赚”和“花”设置到相对应的位置上
    使用animation属性给中间的“赚”和“花”图片设置动画,动画效果为鼠标移入“赚”图片的时候变为“赚积分”,并且是从左到右缓慢展开的效果
    使用transition属性给右边的“论”图片设置动画,效果为鼠标移入旋转360°
    在这里插入图片描述

    展开全文
  • css3动画仿加速球水波流动效果 参考地址: https://reportvalue.com/wordpress-plugins/gauge-plugin-for-wordpress/ http://codepen.io/wiseguy12851/pen/mJZNqN
  • css3中引入了animation模块,自此css动画进入了我们的视野。css动画名符其实,会写css样式就可以创作动画,对一些不怎么会JS的设计师也是比较包容的。但也正因为如此,当你需要重新播放或者说手动触发动画时,css的...
  • 解压密码:RJ4587 CSS3实在是太强大了,今天分享的CSS3动画非常神奇,它可以模拟人物行走,而且人物行走动画非常逼真。人物行走时的跨步动画时多张图片重叠实现的。有了这个CSS3人物行走动画的基础,我们就可以更...
  • obnoxious.css是一个CSS3动画库集合。obnoxious.css中带有5种CSS3动画效果,每种动画效果都带有冲击视觉的效果,给人震撼的感觉。
  • css3动画代码

    2015-08-10 10:28:59
    有关css3动画代码!自己写的一部分css3动画,通过css3代码控制图片的运动,不需要js事件的控制。
  • CSS3动画返回顶部按钮代码一款当在用户向下滚动页面一段距离之后,会以CSS3动画方式出现返回顶部按钮。点击返回顶部按钮之后,页面以平滑的方式滚动回顶部的返回顶部插件jquery.gototop。
  • css3动画实现上下移动This article was originally published on OutSystems. Thank you for supporting the partners who make SitePoint possible. 本文最初在OutSystems上发布 。 感谢您支持使SitePoint成为可能...

    css3动画实现上下移动

    This article was originally published on OutSystems. Thank you for supporting the partners who make SitePoint possible.

    本文最初在OutSystems发布 感谢您支持使SitePoint成为可能的合作伙伴。

    Animating elements in your mobile application is easy. And animating elements in your mobile applications properly is easy, too… if you follow our tips here.

    移动应用程序中的动画元素很容易。 而且,在移动应用程序中正确设置元素动画也很容易……如果您按照此处的提示进行操作。

    While everyone uses CSS3 animations in mobile these days, many do so incorrectly. Developers often disregard best practices. This happens because people don’t understand the reasons why those practices exist and why they are so vigorously endorsed.

    尽管如今每个人都在移动设备上使用CSS3动画,但许多人还是错误地这样做。 开发人员经常无视最佳做法。 发生这种情况是因为人们不了解这些做法存在的原因以及得到如此大力支持的原因。

    The spectrum of device specifications is wide. So if you don’t optimize your code, you will deliver a sub-par experience to the highest share.

    设备规格的范围很广。 因此,如果您不优化代码,则将获得最高标准的体验。

    Remember: some high-end flagship devices push the envelope, but most of the world uses the type of device that, when compared to those spec monsters, looks like an abacus with an LCD screen.

    请记住:一些高端旗舰设备推动了发展,但是世界上大多数国家使用的设备类型与那些规格怪兽相比,看起来就像是带有LCD屏幕的算盘。

    We want to give you a hand in harnessing the power of CSS3 correctly. To do that, we need to understand a few things first. t

    我们希望帮助您正确利用CSS3的功能。 为此,我们需要首先了解一些事情。 Ť

    了解时间表 (Understand the Timeline)

    What does the browser do while rendering and playing around with elements? This timeline is called the Critical Rendering Path:

    浏览器在渲染和播放元素时会做什么? 此时间轴称为“ 关键渲染路径”:

    Critical Rendering Path

    Image Source: www.csstriggers.com

    图片来源: www.csstriggers.com

    To achieve smooth animations we need to focus on changing properties that affect the Composite step, instead of adding this stress to previous layers.

    为了获得平滑的动画,我们需要专注于更改影响“ 合成”步骤的属性,而不是将这种压力添加到先前的图层中。

    1. Styles

    1.样式

    Styles

    The browser starts calculating the styles to apply to elements — recalculate Style.

    浏览器开始计算要应用于元素的样式-重新计算Style

    2. Layout

    2.布局

    Layout

    In the following layer, the browser generates the shape and position of each of those elements — Layout. This is where the browser sets the page properties such as width and height , as well as its margin or left/top/right/bottom, for instance.

    在下面的层中,浏览器生成每个元素Layout的形状和位置。 浏览器在此处设置页面属性,例如widthheight ,以及其页marginleft/top/right/bottom

    3. Paint

    3.油漆

    Paint

    The browser fills in the pixels for each element into layers. It refers to these properties: box-shadow, border-radius, color, background-color, and others.

    浏览器将每个元素的像素填充到图层中。 它指的是以下属性: box-shadowborder-radiuscolorbackground-color和其他。

    4. Composite

    4.复合

    This is where you want to perform your animation, as this is when the browser draws all the layers to the screen.

    这是您要执行动画的位置,因为这是浏览器将所有图层绘制到屏幕上时的位置。

    Composite

    Modern browsers can animate four style attributes pretty well, making use of the transform and opacity properties.

    现代浏览器可以利用transformopacity属性很好地为四个样式属性设置动画。

    • Position — transform: translateX(n) translateY(n) translateZ(n);

      位置 -变换:translateX(n),translateY(n),translateZ(n);

    • Scale — transform: scale(n);

      比例尺 —变换:scale(n);

    • Rotation — transform: rotate(ndeg);

      旋转 -变换:rotate(ndeg);

    • Opacity — opacity: n;

      不透明度 -不透明度:n;

    如何每秒获得60帧 (How to Achieve 60 Frames Per Second)

    With this in mind, it’s time to roll up our sleeves and get to work.

    考虑到这一点,是时候卷起袖子开始工作了。

    Let’s start with the HTML. We’re going to create a very simple structure and put our app-menu inside a layout class.

    让我们从HTML开始。 我们将创建一个非常简单的结构,并将我们的应用程序菜单放入布局类中。

    <div class="layout">
      <div class="app-menu"></div>
      <div class="header">
        <div class="menu-icon"></div>
      </div>
    </div>
    app-menu inside layout class

    走错路 (Going About It the Wrong Way)

    .app-menu {
      left: -300px;
      transition: left 300ms linear;
    }
    
    .app-menu-open .app-menu {
      left: 0px;
      transition: left 300ms linear;
    }

    See the properties we changed? You should avoid using transitions with the left/top/right/bottom properties. Those don’t create fluid animations because they force the browser to perform a layout pass each time, which affects all of the element’s children.

    看到我们更改的属性了吗? 您应该避免使用带有left/top/right/bottom属性的过渡。 那些不会创建流​​畅的动画,因为它们会强制浏览器每次执行一次布局传递,这会影响元素的所有子元素。

    The result is something like this:

    结果是这样的:

    Avoid transitions

    That animation is not too smooth. We checked with the DevTools Timeline to see what was happening under the hood, and this was the result:

    那个动画不太流畅。 我们检查了DevTools时间轴,以了解幕后情况,结果是:

    DevTools Timeline

    Green areas represent the time spent rendering an animation.

    绿色区域代表渲染动画所花费的时间。

    This data presents irregular frame-rates and slow performance.

    此数据表示不规则的帧速率和较慢的性能。

    “The green bar indicates FPS. A high bar indicates that the animation is rendering at 60 FPS. A low bar indicates sub-60 FPS. So, ideally, you want the green bar to be consistently high across the Timeline. Those red bars also indicate jank, so, alternatively, another way to gauge your progress is by eliminating those red bars.” Thank you, Kayce Basques!

    “绿色条表示FPS。 高条表示动画以60 FPS渲染。 低条表示低于60 FPS。 因此,理想情况下,您希望整个时间轴上的绿色条始终保持较高。 这些红色的条形也表明是垃圾,因此,另一种评估进度的方法是消除这些红色的条形。” 谢谢Kayce Basques

    使用变换 (Using Transform)

    .app-menu {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      transition: transform 300ms linear;
    }
    .app-menu-open .app-menu {
      -webkit-transform: none;
      transform: none;
      transition: transform 300ms linear;
    }

    The transform properties affect the Composite step, rather than the Layout. Here, we inform the browser that our layers are stable before the animation begins, so we experience fewer hiccups when rendering the animation.

    transform属性影响Composite步骤,而不是Layout 。 在这里,我们在动画开始之前通知浏览器我们的图层是稳定的,因此在渲染动画时我们会遇到较少的打ic。

    Using Transform

    That’s exactly what Timeline reflects:

    这就是时间轴所反映的:

    Timeline using transform

    The results start getting better, frame-rate appears to have stabilized and, therefore, the animation runs smoother.

    结果开始变得更好,帧速率似乎已经稳定,因此动画运行更加流畅。

    在GPU中运行动画 (Running Animations in GPU)

    Let’s take it up a notch, then. To really get it running smooth, we’re going to use the GPU to render the animation.

    那么,让我们提高一个档次。 为了使它真正流畅运行,我们将使用GPU渲染动画。

    .app-menu {
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
      transition: transform 300ms linear;
      will-change: transform;
    }

    Though some browsers still need translateZ() or translate3d() as fallbacks, the will-change property is the future. This property promotes the elements to another layer, so the browser doesn’t have to consider the layout render or painting.

    尽管某些浏览器仍然需要translateZ()translate3d()作为后备,但will-change属性是未来。 此属性将元素提升到另一层,因此浏览器不必考虑布局的渲染或绘画。

    Animations in GPU

    See how smooth that is? Timeline substantiates that:

    看到那有多光滑吗? 时间轴证明:

    Timeline running animations

    The animation’s frame-rate is more constant and the animation renders quicker. But there’s still a long frame running there at the beginning: a little bit of a bottleneck at the beginning.

    动画的帧速率更恒定,并且动画渲染更快。 但是开始时仍然有一个漫长的框架:开始时有点瓶颈。

    Remember the HTML structure we created at the beginning? Let’s take a look at how we controlled the app-menu div in JavaScript:

    还记得我们一开始创建HTML结构吗? 让我们看一下我们如何在JavaScript中控制app-menu div:

    function toggleClassMenu() {
      var layout = document.querySelector(".layout");
      if(!layout.classList.contains("app-menu-open")) {
        layout.classList.add("app-menu-open");
      } else {
        layout.classList.remove("app-menu-open");
      }
    }
    var oppMenu = document.querySelector(".menu-icon");
    oppMenu.addEventListener("click", toggleClassMenu, false);

    Aha! We caused a problem here by adding the class to the layout div. This forced the browser to regenerate our style tree — and that affected the rendering performance.

    啊哈! 通过将类添加到layout div中,我们在这里引起了问题。 这迫使浏览器重新生成样式树,从而影响了渲染性能。

    60 FPS平滑黄油解决方案 (The 60 FPS Smooth as Butter Solution)

    What if we create the menu outside of the viewport area? Having the menu in an isolated area will ensure that we only affect the element that we wish to animate.

    如果我们在视口区域之外创建菜单怎么办? 将菜单放在孤立的区域将确保我们仅影响我们希望设置动画的元素。

    So, we propose the following HTML structure:

    因此,我们提出以下HTML结构:

    <div class="menu">
      <div class="app-menu"></div>
    </div>
    <div class="layout">
      <div class="header">
        <div class="menu-icon"></div>
      </div>
    </div>

    And now we must control the state of the menu in a slightly different way. We’re going to manipulate animations in a class that we remove when the animation ends, by using the transitionend function in JavaScript.

    现在,我们必须以稍微不同的方式控制菜单的状态。 我们将通过使用JavaScript中的transitionend函数来处理动画结束时要删除的类中的动画。

    function toggleClassMenu() {
      myMenu.classList.add("menu--animatable");        
      if(!myMenu.classList.contains("menu--visible")) {                
        myMenu.classList.add("menu--visible");
      } else {
        myMenu.classList.remove("menu--visible");                
      }        
    }
    
    function OnTransitionEnd() {
      myMenu.classList.remove("menu--animatable");
    }
    
    var myMenu = document.querySelector(".menu");
    var oppMenu = document.querySelector(".menu-icon");
    myMenu.addEventListener("transitionend", OnTransitionEnd, false);
    oppMenu.addEventListener("click", toggleClassMenu, false);
    myMenu.addEventListener("click", toggleClassMenu, false);

    Let’s put it all together and check the results. Here’s a complete fully-enabled CSS3 example, with everything in the right place:

    让我们将它们放在一起并检查结果。 这是一个完整的,完全启用CSS3示例,所有内容都放置在正确的位置:

    .menu {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      pointer-events: none;
      z-index: 150;
    }
    
    .menu--visible {
      pointer-events: auto;
    }
    
    .app-menu {
      background-color: #fff;
      color: #fff;
      position: relative;
      max-width: 400px;
      width: 90%;
      height: 100%;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
      -webkit-transform: translateX(-103%);
      transform: translateX(-103%);
      display: flex;
      flex-direction: column;
      will-change: transform;
      z-index: 160;
      pointer-events: auto;            
    }
    
    .menu--visible .app-menu {
      -webkit-transform: none;
      transform: none;
    }
    
    .menu--animatable .app-menu {
      transition: all 130ms ease-in;
    }
    
    .menu--visible.menu--animatable  .app-menu {
      transition: all 330ms ease-out;
    }
    
    .menu:after {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.4);
      opacity: 0;
      will-change: opacity;
      pointer-events: none;
      transition: opacity 0.3s cubic-bezier(0,0,0.3,1);
    }
    
    .menu--visible.menu:after {
      opacity: 1;
      pointer-events: auto;
    }
    Fully enabled CSS3 example

    And what does Timeline show us?

    时间轴向我们展示什么?

    Timeline of CSS3 example

    Green bars for days, baby. Want to see a live example? Click here.

    几天,孩子们,绿色的酒吧。 想看一个真实的例子吗? 请点击这里

    翻译自: https://www.sitepoint.com/achieve-60-fps-mobile-animations-with-css3/

    css3动画实现上下移动

    展开全文
  • CSS3边框动画

    2019-09-13 23:36:42
    CSS3边框动画
  • Tuesday是一款带22种效果的小巧的CSS3动画库。目前网络上已经有多种好用的CSS动画库插件,这款CSS3动画库的特点是动画路径短,动画持续时间也较短。目前该动画库提供了22种不同的元素进入和离开的动画效果。
  • 这是一款炫酷的鼠标hover按钮CSS3动画特效。该按钮CSS3动画特效包括10种鼠标hover效果。按钮动画的制作通过CSS3 transition和keyframes帧动画完成。
  • Vivify.css是一款带68种动画效果的CSS3动画库。vivify.css动画库和Animate.css类似,为网页元素提供各种CSS3动画效果。vivify.css动画库内置了68种炫酷的CSS3动画效果。
  • div CSS3动画带有的按钮_css3样式表属性动画按钮
  • css3绘制模糊散景动画,彩色虚幻网页背景动画特效。css3绘制模糊散景动画,彩色虚幻网页背景动画特效。在线演示:http://www.17sucai.com/pins/demo-show?id=29398
  • 在元旦的时候我们可以在现实中堆雪人也可以用css3堆雪人,今天和大家分享一款纯css3实现的雪人动画特效。该实例实现一个雪人跳动的特效,下面有详细的代码,感兴趣的可以来学习一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 194,975
精华内容 77,990
关键字:

css3动画