首页 > 其他分享 >FreeCodeCamp-通过构建摩天轮学习 CSS 动画

FreeCodeCamp-通过构建摩天轮学习 CSS 动画

时间:2023-05-15 12:13:40浏览次数:43  
标签:rotate top 50% transform nth FreeCodeCamp 摩天轮 type CSS

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Ferris Wheel</title>
    <link rel="stylesheet" href="./styles.css">
  </head>
  <body>
    <div class="wheel">
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>
      <span class="line"></span>

      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
      <div class="cabin"></div>
    </div>
  </body>
</html>

styles.css​

.wheel {
  border: 2px solid black;
  border-radius: 50%;
  margin-left: 50px;
  position: absolute;
  height: 55vw;
  width: 55vw;
  max-width: 500px;
  max-height: 500px;
  animation-name: wheel;
  animation-duration: 10s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

.line {
  background-color: black;
  width: 50%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: 0% 0%;
}

.line:nth-of-type(2) {
  transform: rotate(60deg);
}
.line:nth-of-type(3) {
  transform: rotate(120deg);
}
.line:nth-of-type(4) {
  transform: rotate(180deg);
}
.line:nth-of-type(5) {
  transform: rotate(240deg);
}
.line:nth-of-type(6) {
  transform: rotate(300deg);
}

.cabin {
  background-color: red;
  width: 20%;
  height: 20%;
  position: absolute;
  border: 2px solid;
  transform-origin: 50% 0%;
  animation: cabins 10s ease-in-out infinite;
}

.cabin:nth-of-type(1) {
  right: -8.5%;
  top: 50%;
}
.cabin:nth-of-type(2) {
  right: 17%;
  top: 93.5%;
}
.cabin:nth-of-type(3) {
  right: 67%;
  top: 93.5%;
}
.cabin:nth-of-type(4) {
  left: -8.5%;
  top: 50%;
}
.cabin:nth-of-type(5) {
  left: 17%;
  top: 7%;
}
.cabin:nth-of-type(6) {
  right: 17%;
  top: 7%;
}

@keyframes wheel {
   0% {
     transform: rotate(0deg);
   }
   100% {
     transform: rotate(360deg);
   }
}

@keyframes cabins {
  0% {
    transform: rotate(0deg);
  }
  25% {
    background-color: yellow;
  }
  50% {
    background-color: purple;
  }

  75%{
    background-color: yellow;
  }

  100% {
    transform: rotate(-360deg);
  }
}

标签:rotate,top,50%,transform,nth,FreeCodeCamp,摩天轮,type,CSS
From: https://www.cnblogs.com/is-wgy/p/17401442.html

相关文章

  • css呼吸灯
    css呼吸灯CSS中animation动画Animations由两部分组成:css动画的配置;animation-name:xx(设置关键帧的名称为xx);animation-duration:1s(动画持续时间为1s);animation-timing-function:linear(动画时间曲线:linear、ease(默认)、ease-in、ease-out、ease-in-out、cubic-bezier(n,......
  • 使用chrome console检查css selector/xpath的有效性|百度云盘如何获取文件库中的目录
    定位元素时,一般用xpath或cssselector来定位,定位时可以借助chrome浏览器或firefox浏览器的firebug来直接copyselector或copyxpath。此文介绍使用chrome怎样去验证cssselector或xpath的有效性。步骤 1.按F12打开chrome的开发者工具; 2.再按Esc键调出console 经过这俩步骤,c......
  • 5种你未必知道的JavaScript和CSS交互的方法
    随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊。本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合作。我们的网页中都有.js文件和.css文件,但这并不意味着CSS和js是独立不能交互的。下面要讲的这五种JavaScript和CSS共同合作的方......
  • 使用vscode搭建 vue3 + vite 项目, 部署到服务器 js css文件路径访问不到的问题
    使用vscode搭建vue3+vite项目,本地没有问题,build后部署到服务器,默认访问的是域名下的jscss文件,导致相对路径无法访问到。在vite.config.js中添加 :base: "./" 后就可以了。原因:默认的是 "/",  而我部署的路径是:/其他路径/项目名/dist/ ,所以把base改为./后......
  • 麻雀搜索算法(SSA)文章复现(改进Tent混沌初始化+改进Tent混沌扰动+高斯扰动)——CSSA。
    麻雀搜索算法(SSA)文章复现(改进Tent混沌初始化+改进Tent混沌扰动+高斯扰动)——CSSA。复现内容包括:改进算法实现、23个基准测试函数、改进策略画图分析、文中三种混沌图分析、与SSA对比等。代码基本上每一步都有注释,非常易懂,代码质量极高,便于新手学习和理解。YID:1959668618......
  • css条件选择器has,给layui必填表单的label增加红色星号
    使用lay-reqtext而不应lay-verify或者lay-verify="required",是为了防止 lay-verify="required|monolog"和lay-verify=“自定义验证规则”(有时候不是必填项,但是填写以后要检查格式)。.layui-form-label:has(+divinput[lay-reqtext]):has条件选择器,括号里是选择条件,+div兄弟元......
  • css美化
    编辑网页文本span标签:能让某几个字凸显出来结构:span{color:red;}  <span>123<span>字体样式:一般设置两个字体。如果浏览器第一个字体不认识,就会默认显示第二个。{font_family:"楷体",宋体;}字体大小:{font-size:20px;}字体风格:斜体{font-style:italic;}字体的粗细:{font=weig......
  • 学习日记——CSS高级选择器
    1.层次选择器①后代选择器EF:选择匹配的F元素,且匹配的F元素被包含在匹配的E元素内②子选择器E>F:选择匹配的F元素,且匹配的F元素是匹配的E元素的子元素③相邻兄弟选择器E+F:选择匹配的F元素,且匹配的F元素紧位于匹配的E元素后面④通用兄弟选择器E~F:选择匹配的F元素,且位于匹配......
  • css基本介绍+嵌套使用+选择器+列表样式+绝对定位
    1. 什么是CSS,有什么作用?  01CSS(Cascading Style Sheet):层叠样式表语言。CSS的作用是: 修饰HTML页面,设置HTML页面中的某些元素的样式,让HTML页面更好看。 CSS好比是HTML的化妆品一样。HTML还是主体,CSS依赖HTML。CSS的存在就是修饰HTML,所以新建的文件还是xx.html文件。2、CSS......
  • css笔记
    一、常用易忘1.文本换行 word-wrap:break-word;normal:默认属性值,表示文本不受限制,可以超出边界;break-word:表示当文本超出边界时,自动将单词截断换行,但如果单词本身就很长,仍然会超出边界;anywhere:表示文本可以在任何地方换行;overflow-wrap:表示文本可以在“......