当前位置:首页 > CSS

css制作轨迹

2026-03-11 14:41:34CSS

使用 CSS 动画和关键帧制作轨迹

通过 @keyframesanimation 属性可以创建元素的移动轨迹。定义一个动画路径,让元素沿着设定的路径运动。

.trajectory {
  width: 50px;
  height: 50px;
  background-color: blue;
  position: absolute;
  animation: move 4s linear infinite;
}

@keyframes move {
  0% {
    left: 0;
    top: 0;
  }
  25% {
    left: 100px;
    top: 100px;
  }
  50% {
    left: 200px;
    top: 50px;
  }
  100% {
    left: 300px;
    top: 200px;
  }
}

使用 SVG 和 CSS 结合制作轨迹

通过 SVG 的 path 元素定义轨迹路径,再使用 CSS 的 offset-path 让元素沿路径运动。

css制作轨迹

<svg width="400" height="200" viewBox="0 0 400 200">
  <path id="track" d="M 50,100 C 100,50 150,150 200,100 S 300,50 350,100" fill="none" stroke="gray"/>
</svg>

<div class="object"></div>
.object {
  width: 20px;
  height: 20px;
  background-color: red;
  border-radius: 50%;
  offset-path: path('M 50,100 C 100,50 150,150 200,100 S 300,50 350,100');
  animation: move 3s linear infinite;
}

@keyframes move {
  100% {
    offset-distance: 100%;
  }
}

使用 CSS 过渡和变换制作轨迹

通过 transformtransition 实现平滑的轨迹移动效果。适用于简单的直线或曲线路径。

css制作轨迹

.box {
  width: 40px;
  height: 40px;
  background-color: green;
  transition: transform 2s ease-in-out;
}

.box:hover {
  transform: translate(200px, 100px) rotate(360deg);
}

使用 CSS 变量和 JavaScript 动态控制轨迹

结合 CSS 变量和 JavaScript 动态计算轨迹坐标,实现更复杂的交互式轨迹。

<div class="dynamic-track"></div>
.dynamic-track {
  width: 30px;
  height: 30px;
  background-color: purple;
  position: absolute;
  left: calc(var(--x) * 1px);
  top: calc(var(--y) * 1px);
}
const element = document.querySelector('.dynamic-track');
let angle = 0;

function updatePosition() {
  angle += 0.05;
  const x = 100 + Math.cos(angle) * 50;
  const y = 100 + Math.sin(angle) * 50;
  element.style.setProperty('--x', x);
  element.style.setProperty('--y', y);
  requestAnimationFrame(updatePosition);
}

updatePosition();

使用 CSS 网格和 Flexbox 制作轨迹

通过网格布局或 Flexbox 结合动画,可以创建元素在网格或弹性容器中的移动轨迹。

.grid-container {
  display: grid;
  grid-template-columns: repeat(5, 50px);
  grid-template-rows: repeat(3, 50px);
  gap: 10px;
}

.grid-item {
  background-color: orange;
  grid-column: 1;
  grid-row: 1;
  animation: grid-move 5s infinite;
}

@keyframes grid-move {
  20% { grid-column: 3; grid-row: 1; }
  40% { grid-column: 5; grid-row: 2; }
  60% { grid-column: 2; grid-row: 3; }
  80% { grid-column: 4; grid-row: 1; }
}

标签: 轨迹css
分享给朋友:

相关文章

怎么制作css

怎么制作css

创建CSS文件 新建一个文本文件,将文件扩展名改为.css。例如styles.css。确保文件名简洁且能反映其用途。 编写CSS基础结构 CSS由选择器和声明块组成。选择器用于指定要样式化的HTML…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox布局创建水平导航栏。设置背景色、间距和悬停效果增强视觉体验。 <nav class="horiz…

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的::before和::after伪元素结合border属性可以创建简单的几何形状图标。例如制作一个三角形: .triangle { w…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

css 制作石头

css 制作石头

使用CSS制作石头效果 通过CSS的border-radius、box-shadow和background属性可以模拟石头的自然外观。以下是一个简单实现: <div class="stone"…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…