当前位置:首页 > CSS

css制作动画

2026-01-28 10:36:46CSS

CSS动画基础

CSS动画通过@keyframesanimation属性实现。@keyframes定义动画的关键帧,animation将动画应用到元素上。

示例代码:

/* 定义关键帧 */
@keyframes slideIn {
  from { transform: translateX(-100%); }
  to { transform: translateX(0); }
}

/* 应用动画 */
.element {
  animation: slideIn 1s ease-in-out;
}

关键属性

  • animation-name: 指定@keyframes名称。
  • animation-duration: 动画持续时间(如2s)。
  • animation-timing-function: 速度曲线(如easelinear)。
  • animation-delay: 动画延迟时间。
  • animation-iteration-count: 播放次数(infinite表示无限循环)。
  • animation-direction: 播放方向(如alternate往返播放)。

复合写法:

css制作动画

.element {
  animation: slideIn 1s ease-in-out 0.5s infinite alternate;
}

多关键帧动画

@keyframes可以定义多个中间状态:

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

触发动画

动画默认在页面加载时触发。通过JavaScript动态添加类名实现交互触发:

css制作动画

document.querySelector('.element').classList.add('animate');

对应CSS:

.animate {
  animation: slideIn 1s;
}

性能优化

  • 使用transformopacity属性(硬件加速性能更好)。
  • 避免频繁触发重排(如修改widthheight)。

浏览器兼容性

  • 前缀支持:旧版浏览器可能需要-webkit-前缀(如-webkit-animation)。
  • 使用工具(如Autoprefixer)自动添加前缀。

动画与过渡的区别

  • CSS过渡(Transition):需状态变化(如:hover)触发,仅定义起始和结束状态。
  • CSS动画(Animation):可自动运行,支持多关键帧和复杂控制。

过渡示例:

.element {
  transition: transform 0.3s ease;
}
.element:hover {
  transform: rotate(45deg);
}

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

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

网页制作教程css

网页制作教程css

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

前端css制作

前端css制作

CSS 基础语法与结构 CSS(层叠样式表)通过选择器、属性和值定义样式。基本语法为: 选择器 { 属性: 值; } 例如: h1 { color: blue; font-size:…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox实现水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { backgroun…