Files
wbenarto ed88a25359 fix(curriculum): add test cases to ferris-wheel project #45099 (#45134)
* added tests to satisfy first-of-type and last-of-type

* edited hints to require nth-of-type selector

* refactor for readability
2022-02-17 11:15:11 -08:00

4.9 KiB

id, title, challengeType, dashedName
id title challengeType dashedName
6140d4bc9db3c81c51a09ab7 Step 15 0 step-15

--description--

Continuing the pattern, select the following .cabin elements and apply the specific rules to them:

  • The second .cabin should have the right property set to 17% and the top property set to 93.5%.
  • The third .cabin should have the right property set to 67% and the top property set to 93.5%.
  • The fourth .cabin should have the left property set to -8.5% and the top property set to 50%.
  • The fifth .cabin should have the left property set to 17% and the top property set to 7%.
  • The sixth .cabin should have the right property set to 17% and the top property set to 7%.

--hints--

You should have a .cabin:nth-of-type(2) selector.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(2)'));

Your .cabin:nth-of-type(2) selector should have a right property set to 17%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(2)')?.right === '17%');

Your .cabin:nth-of-type(2) selector should have a top property set to 93.5%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(2)')?.top === '93.5%');

You should have a .cabin:nth-of-type(3) selector.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(3)'));

Your .cabin:nth-of-type(3) selector should have a right property set to 67%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(3)')?.right === '67%');

Your .cabin:nth-of-type(3) selector should have a top property set to 93.5%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(3)')?.top === '93.5%');

You should have a .cabin:nth-of-type(4) selector.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(4)'));

Your .cabin:nth-of-type(4) selector should have a left property set to -8.5%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(4)')?.left === '-8.5%');

Your .cabin:nth-of-type(4) selector should have a top property set to 50%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(4)')?.top === '50%');

You should have a .cabin:nth-of-type(5) selector.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(5)'));

Your .cabin:nth-of-type(5) selector should have a left property set to 17%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(5)')?.left === '17%');

Your .cabin:nth-of-type(5) selector should have a top property set to 7%.

assert(new __helpers.CSSHelp(document).getStyle('.cabin:nth-of-type(5)')?.top === '7%');

You should have a .cabin:nth-of-type(6) selector.

const def = (s) => new __helpers.CSSHelp(document).getStyle(s)
assert(def('.cabin:nth-of-type(6)') || def('.cabin:last-of-type'));

Your .cabin:nth-of-type(6) selector should have a right property set to 17%.

const right = (s) => new __helpers.CSSHelp(document).getStyle(s)?.right
assert.equal(right('.cabin:nth-of-type(6)') || right('.cabin:last-of-type'),'17%');

Your .cabin:nth-of-type(6) selector should have a top property set to 7%.

const top = (s) => new __helpers.CSSHelp(document).getStyle(s)?.top
assert.equal(top('.cabin:nth-of-type(6)') || top('.cabin:last-of-type'),'7%');

--seed--

--seed-contents--

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title> Learn CSS Animations by Building a 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>
.wheel {
  border: 2px solid black;
  border-radius: 50%;
  margin-left: 50px;
  position: absolute;
  height: 55vw;
  width: 55vw;
  max-width: 500px;
  max-height: 500px;
}

.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%;
}

.cabin:nth-of-type(1) {
  right: -8.5%;
  top: 50%;
}
--fcc-editable-region--

--fcc-editable-region--