2018-10-10 18:03:03 -04:00
---
id: 5a9d726c424fe3d0e10cad11
title: Create a custom CSS Variable
challengeType: 0
2019-12-13 13:47:57 +08:00
videoUrl: 'https://scrimba.com/c/cQd27Hr'
forumTopicId: 301086
localTitle: 创建一个自定义的 CSS 变量
2018-10-10 18:03:03 -04:00
---
## Description
2019-12-13 13:47:57 +08:00
< section id = 'description' >
创建一个 CSS 变量,你只需要在变量名前添加两个< code > 破折号< / code > ,并为其赋值,例子如下:
```css
--penguin-skin: gray;
```
这样会创建一个< code > --penguin-skin< / code > 变量并赋值为< code > gray( 灰色) < / code > 。
现在,其他元素可通过该变量来设置为< code > gray( 灰色) < / code > 。
< / section >
2018-10-10 18:03:03 -04:00
## Instructions
2019-12-13 13:47:57 +08:00
< section id = 'instructions' >
在< code > penguin< / code > class 里面,创建一个< code > --penguin-skin< / code > 变量,且赋值为< code > gray( 灰色) < / code > 。
< / section >
2018-10-10 18:03:03 -04:00
## Tests
< section id = 'tests' >
```yml
tests:
2019-12-13 13:47:57 +08:00
- text: '< code > penguin</ code > class 里应声明< code > --penguin-skin</ code > 变量,且赋值为< code > gray</ code > 。'
testString: 'assert(code.match(/.penguin\s*?{[\s\S]*--penguin-skin\s*?:\s*?gray\s*?;[\s\S]*}/gi), ''< code > penguin</ code > class 里应声明< code > --penguin-skin</ code > 变量,且赋值为< code > gray</ code > 。'');'
2018-10-10 18:03:03 -04:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'html-seed' >
```html
< style >
.penguin {
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
/* add code below */
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
/* add code above */
position: relative;
margin: auto;
display: block;
margin-top: 5%;
width: 300px;
height: 300px;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.penguin-top {
top: 10%;
left: 25%;
background: black;
width: 50%;
height: 45%;
border-radius: 70% 70% 60% 60%;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.penguin-bottom {
top: 40%;
left: 23.5%;
background: black;
width: 53%;
height: 45%;
border-radius: 70% 70% 100% 100%;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.right-hand {
top: 0%;
left: -5%;
background: black;
width: 30%;
height: 60%;
border-radius: 30% 30% 120% 30%;
transform: rotate(45deg);
z-index: -1;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.left-hand {
top: 0%;
left: 75%;
background: black;
width: 30%;
height: 60%;
border-radius: 30% 30% 30% 120%;
transform: rotate(-45deg);
z-index: -1;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.right-cheek {
top: 15%;
left: 35%;
background: white;
width: 60%;
height: 70%;
border-radius: 70% 70% 60% 60%;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.left-cheek {
top: 15%;
left: 5%;
background: white;
width: 60%;
height: 70%;
border-radius: 70% 70% 60% 60%;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.belly {
top: 60%;
left: 2.5%;
background: white;
width: 95%;
height: 100%;
border-radius: 120% 120% 100% 100%;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.right-feet {
top: 85%;
left: 60%;
background: orange;
width: 15%;
height: 30%;
border-radius: 50% 50% 50% 50%;
transform: rotate(-80deg);
2019-12-13 13:47:57 +08:00
z-index: -2222;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.left-feet {
top: 85%;
left: 25%;
background: orange;
width: 15%;
height: 30%;
border-radius: 50% 50% 50% 50%;
transform: rotate(80deg);
2019-12-13 13:47:57 +08:00
z-index: -2222;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.right-eye {
top: 45%;
left: 60%;
background: black;
width: 15%;
height: 17%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.left-eye {
top: 45%;
left: 25%;
background: black;
width: 15%;
height: 17%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.sparkle {
top: 25%;
left: 15%;
background: white;
width: 35%;
height: 35%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.blush-right {
top: 65%;
left: 15%;
background: pink;
width: 15%;
height: 10%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.blush-left {
top: 65%;
left: 70%;
background: pink;
width: 15%;
height: 10%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.beak-top {
top: 60%;
left: 40%;
background: orange;
width: 20%;
height: 10%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.beak-bottom {
top: 65%;
left: 42%;
background: orange;
width: 16%;
height: 10%;
2019-12-13 13:47:57 +08:00
border-radius: 50%;
2018-10-10 18:03:03 -04:00
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
body {
background:#c6faf1 ;
}
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
.penguin * {
position: absolute;
}
< / style >
< div class = "penguin" >
< div class = "penguin-bottom" >
< div class = "right-hand" > < / div >
< div class = "left-hand" > < / div >
< div class = "right-feet" > < / div >
< div class = "left-feet" > < / div >
< / div >
< div class = "penguin-top" >
< div class = "right-cheek" > < / div >
< div class = "left-cheek" > < / div >
< div class = "belly" > < / div >
< div class = "right-eye" >
< div class = "sparkle" > < / div >
< / div >
< div class = "left-eye" >
< div class = "sparkle" > < / div >
< / div >
< div class = "blush-right" > < / div >
< div class = "blush-left" > < / div >
< div class = "beak-top" > < / div >
< div class = "beak-bottom" > < / div >
< / div >
< / div >
```
< / div >
< / section >
## Solution
< section id = 'solution' >
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
```js
// solution required
```
2019-12-13 13:47:57 +08:00
2018-10-10 18:03:03 -04:00
< / section >
2019-12-13 13:47:57 +08:00