当前位置:首页 > CSS

用css制作小船

2026-04-02 13:46:42CSS

用css制作小船

使用CSS绘制小船

通过CSS的border属性和transform属性可以绘制一个简单的小船形状。以下是一个基础的实现方案:

用css制作小船

<div class="boat"></div>
.boat {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 100px solid #8B4513; /* 船体颜色 */
  position: relative;
  transform: rotate(180deg);
}

.boat:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 80px;
  background: #A0522D; /* 桅杆颜色 */
  left: 50%;
  top: -80px;
  transform: translateX(-50%);
}

.boat:before {
  content: "";
  position: absolute;
  width: 60px;
  height: 30px;
  background: #D2B48C; /* 帆布颜色 */
  left: 50%;
  top: -60px;
  transform: translateX(-50%) skew(20deg);
}

添加波浪效果

为了让小船更生动,可以添加波浪动画效果:

.wave {
  position: absolute;
  width: 200%;
  height: 20px;
  background: #1E90FF;
  bottom: -10px;
  left: -50%;
  border-radius: 50%;
  animation: wave 3s linear infinite;
}

@keyframes wave {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-25%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}

完整示例代码

<div class="scene">
  <div class="boat"></div>
  <div class="wave"></div>
</div>

<style>
.scene {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 50px auto;
  background: #87CEEB;
  overflow: hidden;
}

.boat {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 100px solid #8B4513;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(180deg);
}

.boat:after {
  content: "";
  position: absolute;
  width: 6px;
  height: 80px;
  background: #A0522D;
  left: 50%;
  top: -80px;
  transform: translateX(-50%);
}

.boat:before {
  content: "";
  position: absolute;
  width: 60px;
  height: 30px;
  background: #D2B48C;
  left: 50%;
  top: -60px;
  transform: translateX(-50%) skew(20deg);
}

.wave {
  position: absolute;
  width: 200%;
  height: 20px;
  background: #1E90FF;
  bottom: 30px;
  left: -50%;
  border-radius: 50%;
  animation: wave 3s linear infinite;
}

@keyframes wave {
  0% { transform: translateX(0) rotate(0deg); }
  50% { transform: translateX(-25%) rotate(2deg); }
  100% { transform: translateX(-50%) rotate(0deg); }
}
</style>

这个示例创建了一个带有桅杆和帆的简单小船,并添加了波浪动画效果。可以通过调整CSS属性值来改变船的大小、颜色和形状。

标签: 小船css
分享给朋友:

相关文章

react 如何引入css

react 如何引入css

在 React 中引入 CSS 的方法 React 提供了多种引入 CSS 的方式,可以根据项目需求选择合适的方法。以下是常见的几种方式: 内联样式 内联样式直接在组件中通过 style 属性定义,…

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成: 选择…

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table&…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯 CSS 和少量 JavaScript 可以制作一个动态时钟。以下是实现步骤: HTML 结构 <div class="clock"> <div…

css图标制作

css图标制作

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

制作外置css

制作外置css

创建外置CSS文件 新建一个文本文件,将其命名为style.css。确保文件扩展名为.css,而不是.txt。使用代码编辑器(如VS Code、Sublime Text等)打开该文件进行编辑。 /*…