&l…">
当前位置:首页 > CSS

css制作红旗

2026-01-28 01:34:57CSS

使用CSS制作红旗

通过CSS的linear-gradienttransform属性可以创建倾斜的红旗效果。以下是一个简单的实现方法:

css制作红旗

<div class="flag"></div>
.flag {
  width: 300px;
  height: 200px;
  background: linear-gradient(
    135deg,
    #de2910 0%,
    #de2910 50%,
    #ffde59 50%,
    #ffde59 100%
  );
  transform: skewY(-10deg);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

添加五角星装饰

要在红旗上添加五角星,可以使用伪元素和CSS clip-path:

css制作红旗

.flag::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 60px;
  height: 60px;
  background: #ffde59;
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
}

动画效果

为红旗添加飘动动画:

@keyframes wave {
  0% { transform: skewY(-10deg); }
  50% { transform: skewY(-5deg); }
  100% { transform: skewY(-10deg); }
}

.flag {
  animation: wave 3s ease-in-out infinite;
  transform-origin: bottom center;
}

响应式调整

确保红旗在不同屏幕尺寸下保持比例:

.flag {
  width: 80vw;
  height: calc(80vw * 2/3);
  max-width: 500px;
  max-height: 333px;
}

完整代码示例

<!DOCTYPE html>
<html>
<head>
<style>
.flag {
  width: 300px;
  height: 200px;
  background: linear-gradient(
    135deg,
    #de2910 0%,
    #de2910 50%,
    #ffde59 50%,
    #ffde59 100%
  );
  transform: skewY(-10deg);
  box-shadow: 0 0 10px rgba(0,0,0,0.3);
  position: relative;
  margin: 50px auto;
  animation: wave 3s ease-in-out infinite;
  transform-origin: bottom center;
}

.flag::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 60px;
  height: 60px;
  background: #ffde59;
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 91%,
    50% 70%,
    21% 91%,
    32% 57%,
    2% 35%,
    39% 35%
  );
}

@keyframes wave {
  0% { transform: skewY(-10deg); }
  50% { transform: skewY(-5deg); }
  100% { transform: skewY(-10deg); }
}
</style>
</head>
<body>
<div class="flag"></div>
</body>
</html>

标签: css
分享给朋友:

相关文章

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

css制作彩虹

css制作彩虹

使用线性渐变创建彩虹效果 通过CSS的linear-gradient属性可以轻松实现彩虹效果。以下是一个基础的彩虹样式代码: .rainbow { width: 100%; height:…

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏是最常见的方法。 <nav class="horizontal-nav"> <u…

css 制作报表

css 制作报表

使用CSS制作报表 通过CSS可以创建结构清晰、样式美观的报表。以下是一些关键方法和技巧: 基础表格样式 table { width: 100%; border-collapse: col…

css制作滑动切换

css制作滑动切换

使用CSS Transitions实现滑动切换 通过CSS的transition属性结合transform可以实现平滑的滑动效果。设置一个容器元素,内部放置需要滑动的内容,通过改变transform:…