Files
Shaun Hamilton 393aeabc8f feat(curriculum): add css-penguin practice project (#44214)
* feat: add css-penguin practice project

* rename block name

* rename meta block

* rename necessary properties

* rename page

* add to step 25

* adjust prototype with better structure/naming

* add step adjusting .ground z-index

* fix: add position: absolute to .ground

* add to step 37

* add to step 103

* remove erm from solution

* add tests to 001-020

* add tests 021-030

* test: update 012 to use dynamic hints

* test: improve tests with dynamic hints

* fix: add position:relative to .penguin

* add tests 032-055

* add tests 056 - 103

* fix some tests

* code blocks and test fixes

Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com>

* allow 0% 0px 0

* fix: add width and height step for silly firefox

* add instruction to add html element

* Tom's good suggestions, and his American suggestions

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* adjust wording for - you guessed it - firefox

Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>

* add missing calc keyword

* just fix it with regex :(

* apply Nich's probably bogus suggestions

Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>

* remove duplicate

Co-authored-by: Krzysztof G. <60067306+gikf@users.noreply.github.com>
Co-authored-by: Tom <20648924+moT01@users.noreply.github.com>
Co-authored-by: Nicholas Carrigan (he/him) <nhcarrigan@gmail.com>
2021-12-03 17:59:32 -06:00

140 lines
3.0 KiB
Markdown

---
id: 61993dbb35adf30b10d49e38
title: Step 32
challengeType: 0
dashedName: step-32
---
# --description--
Target the `.penguin-body` element, and give it a `width` of `53%`, and a `height` of `45%`. Then, set the `background` to a linear gradient at `45deg`, `rgb(134, 133, 133)` from `0%`, `rgb(234, 231, 231)` from `25%`, and `white` from `67%`.
# --hints--
You should use the `.penguin-body` selector.
```js
assert.match(code, /\.penguin-body\s*\{/);
```
You should give `.penguin-body` a `width` of `--fcc-expected--`, but found `--fcc-actual--`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-body')?.width, '53%');
```
You should give `.penguin-body` a `height` of `--fcc-expected--`, but found `--fcc-actual--`.
```js
assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-body')?.height, '45%');
```
You should give `.penguin-body` a `background` of `linear-gradient(45deg, rgb(134, 133, 133) 0%, rgb(234, 231, 231) 25%, white 67%)`.
```js
assert.include(['linear-gradient(45deg,rgb(134,133,133)0%,rgb(234,231,231)25%,white67%)', 'rgba(0,0,0,0)linear-gradient(45deg,rgb(134,133,133)0%,rgb(234,231,231)25%,white67%)repeatscroll0%0%'], new __helpers.CSSHelp(document).getStyle('.penguin-body')?.getPropVal('background', true));
```
# --seed--
## --seed-contents--
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<link rel="stylesheet" href="./styles.css" />
<title>CSS Penguin</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div class="left-mountain"></div>
<div class="back-mountain"></div>
<div class="sun"></div>
<div class="penguin">
<div class="penguin-head"></div>
<div class="penguin-body"></div>
</div>
<div class="ground"></div>
</body>
</html>
```
```css
body {
background: linear-gradient(45deg, rgb(118, 201, 255), rgb(247, 255, 222));
margin: 0;
padding: 0;
width: 100%;
height: 100vh;
overflow: clip;
}
.left-mountain {
width: 300px;
height: 300px;
background: linear-gradient(rgb(203, 241, 228), rgb(80, 183, 255));
position: absolute;
transform: skew(0deg, 44deg);
z-index: 2;
margin-top: 100px;
}
.back-mountain {
width: 300px;
height: 300px;
background: linear-gradient(rgb(203, 241, 228), rgb(47, 170, 255));
position: absolute;
z-index: 1;
transform: rotate(45deg);
left: 110px;
top: 225px;
}
.sun {
width: 200px;
height: 200px;
background-color: yellow;
position: absolute;
border-radius: 50%;
top: -75px;
right: -75px;
}
.penguin {
width: 300px;
height: 300px;
margin: auto;
margin-top: 75px;
z-index: 4;
position: relative;
}
.penguin-head {
width: 50%;
height: 45%;
background: linear-gradient(
45deg,
gray,
rgb(239, 240, 228)
);
border-radius: 70% 70% 65% 65%;
}
--fcc-editable-region--
--fcc-editable-region--
.ground {
width: 100vw;
height: 400px;
background: linear-gradient(90deg, rgb(88, 175, 236), rgb(182, 255, 255));
z-index: 3;
position: absolute;
margin-top: -58px;
}
```