当前位置:首页 > CSS

用css制作小船

2026-04-02 13:46:42CSS

使用CSS绘制小船

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

<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);
}

添加波浪效果

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

用css制作小船

.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
分享给朋友:

相关文章

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css制作登录界面

css制作登录界面

使用CSS制作登录界面 登录界面是网站常见的功能模块,通过CSS可以实现美观且响应式的设计。以下是一个基础的登录界面实现方法。 HTML结构 基础的HTML结构包含表单元素,如输入框、按钮和标签。…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

css焦点图制作

css焦点图制作

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

css图形制作

css图形制作

CSS 图形制作方法 使用 CSS 可以创建各种基本和复杂的图形,主要通过 border、transform、clip-path 等属性实现。以下是几种常见图形的实现方式: 三角形 通过设置元素的…

css奖状制作

css奖状制作

使用CSS制作奖状 奖状制作可以通过CSS结合HTML实现,适用于网页展示或打印。以下是几种常见的设计方法: 基础奖状结构 HTML框架用于定义奖状内容,CSS负责样式设计。 <div cl…