当前位置:首页 > CSS

用css制作火车图标

2026-02-12 16:39:42CSS

使用CSS制作火车图标

通过纯CSS可以绘制简单的火车图标,主要利用::before::after伪元素和边框属性构建车厢、车轮等部件。以下是实现方案:

基础结构

HTML部分只需一个容器元素:

用css制作火车图标

<div class="train"></div>

CSS样式设计

.train {
  position: relative;
  width: 120px;
  height: 60px;
  background: #FF5733;
  border-radius: 10px;
  margin: 50px auto;
}

/* 火车头部 */
.train::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 20px 0;
  border-color: transparent #FF5733 transparent transparent;
}

/* 车窗 */
.train::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 20px;
  background: #85C1E9;
  border-radius: 5px;
  left: 15px;
  top: 10px;
}

/* 车轮 */
.wheel {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #333;
  border-radius: 50%;
  bottom: -10px;
}

.wheel.left { left: 20px; }
.wheel.right { right: 20px; }

完整实现代码

<!DOCTYPE html>
<html>
<head>
<style>
.train {
  position: relative;
  width: 120px;
  height: 60px;
  background: #FF5733;
  border-radius: 10px;
  margin: 50px auto;
}

.train::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 20px 20px 0;
  border-color: transparent #FF5733 transparent transparent;
}

.train::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 20px;
  background: #85C1E9;
  border-radius: 5px;
  left: 15px;
  top: 10px;
}

.wheel {
  position: absolute;
  width: 20px;
  height: 20px;
  background: #333;
  border-radius: 50%;
  bottom: -10px;
}

.wheel.left { left: 20px; }
.wheel.right { right: 20px; }
</style>
</head>
<body>
<div class="train">
  <div class="wheel left"></div>
  <div class="wheel right"></div>
</div>
</body>
</html>

进阶优化

增加烟囱和连接器:

用css制作火车图标

/* 烟囱 */
.chimney {
  position: absolute;
  width: 10px;
  height: 25px;
  background: #333;
  top: -25px;
  left: 80px;
}

/* 车厢连接器 */
.connector {
  position: absolute;
  width: 10px;
  height: 5px;
  background: #333;
  right: -10px;
  top: 25px;
}

多节车厢版本

通过复制HTML结构并调整位置即可实现多节车厢:

<div class="train-container">
  <div class="train engine">
    <div class="wheel left"></div>
    <div class="wheel right"></div>
    <div class="chimney"></div>
    <div class="connector"></div>
  </div>
  <div class="train carriage">
    <div class="wheel left"></div>
    <div class="wheel right"></div>
  </div>
</div>

对应的CSS调整:

.train-container {
  display: flex;
  align-items: center;
}

.carriage {
  margin-left: 30px;
  background: #3498DB;
}

这种方法通过组合基本的CSS形状属性,无需图片即可创建矢量风格的火车图标,适合需要轻量级图标的场景。

标签: 图标火车
分享给朋友:

相关文章

css图标制作

css图标制作

使用CSS制作图标的方法 纯CSS绘制基础形状 通过CSS的border、width、height等属性可以绘制简单图标: .heart { width: 20px; height: 20p…

vue实现图标闪烁

vue实现图标闪烁

使用 CSS 动画实现图标闪烁 在 Vue 中实现图标闪烁可以通过 CSS 动画或 JavaScript 定时器控制。以下是基于 CSS 动画的方法,性能更好且易于维护。 定义闪烁动画样式 在…

vue实现图标点亮

vue实现图标点亮

实现图标点亮的常见方法 在Vue中实现图标点亮效果通常可以通过动态绑定类名或样式、切换图标组件等方式实现。以下是几种常见方案: 使用动态类名绑定 通过v-bind:class或:class动态切换…

vue实现侧边固定图标

vue实现侧边固定图标

Vue 实现侧边固定图标 使用 CSS 固定定位 在 Vue 组件中,可以通过 CSS 的 position: fixed 属性实现侧边固定图标。创建一个样式类,将图标固定在屏幕右侧或左侧。 <…

react实现图标拖拽

react实现图标拖拽

实现图标拖拽的基本思路 在React中实现图标拖拽功能,可以通过HTML5的Drag and Drop API结合React的状态管理来完成。核心步骤包括设置可拖拽元素、处理拖拽事件以及更新组件状态。…

用css制作火车图标

用css制作火车图标

使用CSS制作火车图标 火车图标可以通过CSS的伪元素、边框和背景属性组合实现。以下是一个简单的火车图标实现方法: 火车主体部分 .train { width: 120px;…