当前位置:首页 > CSS

css中制作动画

2026-04-02 01:12:12CSS

CSS 动画基础

CSS 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的中间状态,animation 控制动画的播放方式。

定义关键帧:

@keyframes example {
  0% { background-color: red; }
  50% { background-color: yellow; }
  100% { background-color: green; }
}

应用动画:

div {
  animation-name: example;
  animation-duration: 4s;
}

常用动画属性

animation-name: 指定 @keyframes 名称
animation-duration: 动画持续时间(如 2s)
animation-timing-function: 速度曲线(ease/linear/ease-in等)
animation-delay: 延迟开始时间
animation-iteration-count: 播放次数(infinite表示无限循环)
animation-direction: 播放方向(normal/alternate等)
animation-fill-mode: 动画结束后的样式状态

css中制作动画

简写形式:

div {
  animation: example 3s ease-in 1s infinite alternate;
}

过渡动画(Transition)

CSS 过渡用于元素状态变化时的平滑动画:

div {
  transition: property duration timing-function delay;
}

/* 示例 */
button {
  background: blue;
  transition: background 0.5s ease;
}
button:hover {
  background: red;
}

3D 变换动画

通过 transform 属性实现更复杂的动画效果:

css中制作动画

.box {
  transform: rotateX(45deg) translateZ(50px);
  transition: transform 1s;
}
.box:hover {
  transform: rotateY(180deg);
}

性能优化建议

使用 will-change 属性预先告知浏览器可能的变化:

.element {
  will-change: transform, opacity;
}

优先使用 transformopacity 属性制作动画,这些属性不会触发重排,性能更好。避免动画中使用 box-shadow 等昂贵属性。

浏览器兼容性

现代浏览器都支持 CSS 动画。对于旧版浏览器,可以添加前缀:

@-webkit-keyframes example {
  /* ... */
}
.element {
  -webkit-animation: example 2s;
  animation: example 2s;
}

标签: 动画css
分享给朋友:

相关文章

css如何制作圆

css如何制作圆

使用 border-radius 属性制作圆 通过设置 border-radius 属性为元素添加圆角效果。当 border-radius 的值等于元素宽度和高度的一半时,元素会呈现圆形。 .cir…

css 导航栏制作

css 导航栏制作

水平导航栏制作 使用无序列表<ul>和<li>标签构建基础结构,通过CSS将列表项横向排列 <nav> <ul class="horizontal-na…

css图标制作

css图标制作

CSS 图标制作方法 使用 Unicode 或图标字体 通过引入字体库(如 Font Awesome)或直接使用 Unicode 符号生成图标。例如,Font Awesome 的图标可通过类名调用:…

网页制作教程css

网页制作教程css

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。通过将样式与 HTML 结构分离,提升代码可维护性。 CSS 引入方式 内联样式:直接在 HTML 标签中使…

css焦点图制作

css焦点图制作

使用纯CSS制作焦点图 通过CSS的动画和过渡效果实现简单焦点图轮播,无需JavaScript。以下是一个基础实现方案: <div class="slider"> <div c…

如何制作css导航菜单

如何制作css导航菜单

创建基本HTML结构 导航菜单的基础是HTML结构。使用<nav>标签包裹无序列表<ul>,每个菜单项用<li>标签表示,链接用<a>标签。 <…