Chinese translation of responsive-web-design (#40607)

This commit is contained in:
Xing Liu
2021-01-08 11:20:48 -08:00
committed by GitHub
parent 9770cd0f81
commit 05ba7c3482
193 changed files with 1266 additions and 1273 deletions

View File

@ -8,19 +8,19 @@ forumTopicId: 16166
# --description--
元素的`margin外边距`控制元素`border边框`与其周围元素之间的距离大小。
元素的 `margin外边距` 用来控制元素 `border边框` 与其周围元素之间的距离大小。
如果你把元素的`margin`设置为负值,元素会变得更大
如果你把元素的 `margin` 设置为负值,元素会变得占用更多空间
# --instructions--
尝试将蓝色框的`margin`设为负值,跟红色框一样大小。
将蓝色框的 `margin` 设为负值,跟红色框 `margin` 的属性值设置成一样大小。
蓝色框的`margin`设置为`-15px`,它会填满与黄色框之间的距离
蓝色框的 `margin` 设置为 `-15px`,它会让蓝色框填满整个黄色框
# --hints--
`blue-box` class`margin`设置为`-15px`
class 为 `blue-box`元素的 `margin` 应设置为 `-15px`
```js
assert($('.blue-box').css('margin-top') === '-15px');

View File

@ -8,9 +8,9 @@ forumTopicId: 16630
# --description--
CSS 边框具有`style``color``width`属性。
CSS 边框具有 `style``color``width` 属性。
假如我们想要创建一个 5px 的红色实线边框包围一个 HTML 元素,我们可以这样做:
假如我们要将一个 HTML 元素边框设置为 5px 的红色实线边框,我们可以这样做:
```html
<style>
@ -24,27 +24,27 @@ CSS 边框具有`style``color`和`width`属性。
# --instructions--
创建一个`thick-green-border` CSS class该 class 应在 HTML 元素周围添加一个 10px 的绿色实线边框,将它应用在猫咪照片上。
创建一个 `thick-green-border` class该 class 应在 HTML 元素周围添加一个 10px 的绿色实线边框,并将这个 class 应用在猫咪照片上。
记得在一个元素上可以同时应用多个`class`通过使用空格来分隔。例子如下
记得在一个元素上可以同时应用多个 `class`,使用空格来分隔不同 class 即可,例如
`<img class="class1 class2">`
# --hints--
`img`元素应该含有`smaller-image` class。
`img` 元素应包含 `smaller-image` class。
```js
assert($('img').hasClass('smaller-image'));
```
`img`元素应该含有`thick-green-border` class。
`img` 元素应包含 `thick-green-border` class。
```js
assert($('img').hasClass('thick-green-border'));
```
设置图片边框`10px`
图片边框宽度应设置为 `10px`
```js
assert(
@ -54,13 +54,13 @@ assert(
);
```
设置图片边框`solid`实线。
图片边框样式应为 `solid` 实线。
```js
assert($('img').css('border-right-style') === 'solid');
```
`img`元素的边框颜色应为绿色。
`img` 元素的边框颜色应为绿色。
```js
assert($('img').css('border-left-color') === 'rgb(0, 128, 0)');

View File

@ -8,35 +8,35 @@ forumTopicId: 16633
# --description--
有时候,你会想给一个元素每个方向的`margin`都设置成一个特定的值。
有时候,你会想给一个元素每个方向的 `margin` 都设置成一个特定的值。
CSS 允许你使用`margin-top``margin-right``margin-bottom``margin-left`属性来设置四个不同方向的`margin`值。
CSS 允许你使用 `margin-top``margin-right``margin-bottom``margin-left` 属性来设置四个不同方向的 `margin` 值。
# --instructions--
蓝色框的顶部和左侧`margin`值设置为`40px`底部和右侧设置为`20px`
请将蓝色框的顶部和左侧 `margin` 属性值设置为 `40px`;将底部和右侧的属性值设置为 `20px`
# --hints--
`blue-box` class 的右侧`margin`上外边距值应为`40px`
class 为 `blue-box` 的元素的上外边距属性值应为 `40px`
```js
assert($('.blue-box').css('margin-top') === '40px');
```
`blue-box` class 的右侧`margin`右外边距值应为`20px`
class 为 `blue-box` 的元素的右外边距属性值应为 `20px`
```js
assert($('.blue-box').css('margin-right') === '20px');
```
`blue-box` class 的底部`margin`下外边距值应为`20px`
class 为 `blue-box` 的元素的下外边距属性值应为 `20px`
```js
assert($('.blue-box').css('margin-bottom') === '20px');
```
`blue-box` class 的左侧`margin`左外边距值应为`40px`
class 为 `blue-box` 的元素的左外边距属性值应为 `40px`
```js
assert($('.blue-box').css('margin-left') === '40px');

View File

@ -8,35 +8,35 @@ forumTopicId: 16634
# --description--
有时候,你会想给一个元素每个方向的`padding`都设置一个特定的值
有时候,你会想给一个元素每个方向的 `padding` 都设置一个特定的值
CSS 允许你使用`padding-top``padding-right` `padding-bottom``padding-left`属性来设置四个不同方向的`padding`值。
CSS 允许你使用 `padding-top``padding-right``padding-bottom``padding-left` 属性来设置四个不同方向的 `padding` 值。
# --instructions--
蓝色框的顶部和左侧`padding`值设置为`40px`底部和右侧设置为`20px`
请将蓝色框的顶部和左侧 `padding` 属性值设置为 `40px`;将底部和右侧的属性值设置为 `20px`
# --hints--
`blue-box` class 的顶部`padding`上内边距值应为`40px`
class 为 `blue-box` 的元素的上内边距属性值应为 `40px`
```js
assert($('.blue-box').css('padding-top') === '40px');
```
`blue-box` class 的右侧`padding`右内边距值应为`20px`
class 为 `blue-box` 的元素的右内边距属性值应为 `20px`
```js
assert($('.blue-box').css('padding-right') === '20px');
```
`blue-box` class 的底部`padding`下内边距值应为`20px`
class 为 `blue-box` 的元素的下内边距属性值应为 `20px`
```js
assert($('.blue-box').css('padding-bottom') === '20px');
```
`blue-box` class 的左侧`padding`左内边距值应为`40px`
class 为 `blue-box` 的元素的左内边距属性值应为 `40px`
```js
assert($('.blue-box').css('padding-left') === '40px');

View File

@ -8,23 +8,23 @@ forumTopicId: 16649
# --description--
猫咪图片边角很尖锐,我们可以使用`border-radius`属性来让它变得圆润。
猫咪图片的四个角看起来很尖锐,我们可以使用 `border-radius` 属性来让它变得圆润。
# --instructions--
`border-radius`可以用`px`像素单位来赋值。给猫咪图片设置 10px 的`border-radius`
`border-radius` 的属性值单位可以是 `px`像素)。请将猫咪图片 `border-radius` 的属性值设置为 10px
注意:这个挑战有多个解决方法。例如,添加`border-radius`属性到`.thick-green-border`class`.smaller-image`class 里都是可行的。
**注意:**这个挑战有多个解决方法。例如,添加 `border-radius` 属性到 `.thick-green-border` `.smaller-image` 都是可行的。
# --hints--
图片元素应具有 "thick-green-border" class 属性
图片元素应具有 "thick-green-border" class。
```js
assert($('img').hasClass('thick-green-border'));
```
图片应含有`10px`的边框圆角。
图片应含有 `10px` 的边框圆角。
```js
assert(

View File

@ -8,19 +8,19 @@ forumTopicId: 16654
# --description--
`margin外边距`控制元素的边框与其他元素之间的距离。
`margin外边距` 用来控制元素的边框与其他元素之间的距离。
在这里,我们可以看到蓝色框和红色框都在黄色框里。请注意,红色框的`margin`值要比蓝色框的大,让它看起来比蓝色框要小。
在这里,我们可以看到蓝色框和红色框都在黄色框里。请注意,红色框的 `margin` 值要比蓝色框的大,因此红色框看起来比蓝色框要小。
你增加蓝色的`margin`值,它会增加元素边框到其他周围元素的距离。
如果你增加蓝色的 `margin` 值,它会增加元素边框到其他周围元素的距离。
# --instructions--
蓝色的框`margin`的值要跟红色框的一样大小。
请将蓝色框的 `margin` 值设置成和红色框 `margin`一样大小。
# --hints--
`blue-box` class `margin`值应为`20px`
class 为 `blue-box`元素的 `margin` 值应为 `20px`
```js
assert($('.blue-box').css('margin-top') === '20px');

View File

@ -8,25 +8,25 @@ forumTopicId: 301083
# --description--
我们暂时把猫咪图片放在一边,让我们去学习更多 HTML 相关样式。
我们暂时把要做的猫咪图片 App 放在一边,先来多了解一下如何给 HTML 添加样式。
你可能已经注意到了,所有的 HTML 元素基本都是以矩形为基础。
你可能已经注意到了,所有的 HTML 元素都是以矩形为基础。
每个 HTML 元素周围的矩形空间由三个重要的属性来控制:`padding(内边距)``margin外边距``border(边框)`
每个 HTML 元素所占有的矩形空间由三个重要的属性来控制:内边距 `padding`、外边距 `margin` 、边框 `border`
`padding`控制着元素内容与`border`之间的空隙大小。
`padding` 用来控制着元素内容与 `border` 之间的空隙大小。
在这,我们可以看到蓝色框和红色框都在黄色框里面。可以发现,红色框比蓝色框有着更多`padding`填充空间
在这个挑战中,我们可以看到蓝色框和红色框都在黄色框里面,同时,红色框比蓝色框的 `padding`
你增加蓝色框的`padding`值,文本内容与边框的距离会逐渐拉大。
如果你增加蓝色框的 `padding` 值,其中的文本内容与边框的距离就也会变大。
# --instructions--
蓝色的框`padding`的值要跟红色框的一样大小
蓝色的框`padding` 值设置成与红色框 `padding` 值一样
# --hints--
`blue-box` class `padding`值应为`20px`
`blue-box` 这一 class 应将元素的 `padding` 值设置为 `20px`
```js
assert($('.blue-box').css('padding-top') === '20px');

View File

@ -10,23 +10,23 @@ forumTopicId: 301084
使用变量来作为 CSS 属性值的时候,可以设置一个备用值来防止由于某些原因导致变量不生效的情况。
或许有些人正在使用着不支持 CSS 变量的旧浏览器,又或者,设备不支持你设置的变量值。为了防止这种情况出现,那么你可以这样写:
或许有些人正在使用着不支持 CSS 变量的旧浏览器,又或者,设备不支持你设置的变量值。为了防止这种情况出现,你可以这样写:
```css
background: var(--penguin-skin, black);
```
这样,当变量有问题的时候,它会设置背景颜色为黑色。 提示:这对调试会很有帮助。
这样,当变量有问题的时候,它会设置背景颜色为黑色。 提示:这对调试代码也会很有帮助。
# --instructions--
`penguin-top``penguin-bottom`class 里面,`background`属性设置一个`black`的备用色。
请为 class 为 `penguin-top``penguin-bottom` 的元素的 `background` 属性设置一个 `black` 的备用色。
**注意:** 因为 CSS 变量名拼写错了,所以备用值会被使用。
**注意:**因为 CSS 变量名拼写错了,所以备用值会被用。
# --hints--
`penguin-top` class `background`属性应设置一个`black`备用颜色。
class 为 `penguin-top`元素的 `background` 属性值应有 `black` 作为备用颜色。
```js
assert(
@ -36,7 +36,7 @@ assert(
);
```
`penguin-bottom` class `background`属性应设置一个`black`备用颜色。
class 为 `penguin-bottom`元素的 `background` 属性值应有 `black` 作为备用颜色。
```js
assert(

View File

@ -8,17 +8,17 @@ forumTopicId: 301085
# --description--
当你在`:root`里创建变量时,这些变量的作用域是整个页面。
当你在 `:root` 里创建变量时,这些变量的作用域是整个页面。
如果在元素里创建相同的变量,会重写`:root`变量设置的值。
如果在元素里创建相同的变量,会重写 `:root` 变量设置的值。
# --instructions--
`penguin`class 里,设置`--penguin-belly`的值为`white`
`penguin` class 里,设置 `--penguin-belly` 的值为 `white`
# --hints--
`penguin`clas 里重定义`--penguin-belly`的变量值,且它的值为`white`
应在 `penguin` class 里重定义 `--penguin-belly` 的变量值,新的值应为 `white`
```js
assert(

View File

@ -8,29 +8,29 @@ forumTopicId: 1
# --description--
现在让我们来修改一下文本的颜色。
现在让我们来修改文本的颜色。
我们通过修改`h2`元素的`style`属性的`color`值来改变文本颜色。
我们通过修改 `h2` 元素的 `style` 属性的 `color` 属性值来改变文本颜色。
以下是改变`h2`元素为蓝色的方法:
以下是`h2` 元素设置为蓝色的方法:
`<h2 style="color: blue;">CatPhotoApp</h2>`
请注意行内`style`最好以`;`来结束。
请注意行内 `style` 最好以 `;` 来结束。
# --instructions--
请把`h2`元素的文本颜色设置为红色。
请把 `h2` 元素的文本颜色设置为红色。
# --hints--
`h2` 元素应该有一个`style`声明。
`h2` 元素应该有一个 `style` 声明。
```js
assert($('h2').attr('style'));
```
`h2`元素应该为`red`
`h2` 元素的颜色应为 `red`
```js
assert($('h2')[0].style.color === 'red');

View File

@ -8,7 +8,7 @@ forumTopicId: 1
# --description--
字体大小由`font-size`属性控制,如下所示:
字体大小由 `font-size` 属性控制,如下所示:
```css
h1 {
@ -18,11 +18,11 @@ h1 {
# --instructions--
在包含`red-text`class 选择器的`<style>`声明区域的里,创建一个`p`元素样式规则,并设置`font-size``16px`
在包含 `red-text` 的类选择器的 `<style>` 声明区域的里,创建一个 `p` 元素样式规则,并设置`font-size``16px`
# --hints--
`style`样式声明区域里,`p`元素的`font-size`的值应为`16px`,浏览器和文本缩放应设置为 100
`style` 样式声明区域里,`p` 元素的 `font-size` 的值应为 `16px`。请注意,浏览器和文本缩放应设置为 100
```js
assert(code.match(/p\s*{\s*font-size\s*:\s*16\s*px\s*;\s*}/i));

View File

@ -8,21 +8,21 @@ forumTopicId: 301086
# --description--
创建一个 CSS 变量,你只需要在变量名前添加两个`破折号`,并为其赋值,例子如下:
创建一个 CSS 变量,你只需要在变量名前添加两个 `-`,并为其赋值即可,例子如下:
```css
--penguin-skin: gray;
```
这样会创建一个`--penguin-skin`变量并赋值为`gray(灰色)`。 现在,其他元素可通过该变量来设置为`gray(灰色)`
这样会创建一个 `--penguin-skin` 变量,它的值为 `gray`。 现在,其他元素可通过该变量来调用 `gray`
# --instructions--
`penguin`class 里面,创建一个`--penguin-skin`变量,且赋值为`gray(灰色)`
`penguin` class 里面,创建一个 `--penguin-skin` 变量,并将其值设置为 `gray`
# --hints--
`penguin` class 里声明`--penguin-skin`变量,且赋值为`gray`
应在 `penguin` class 里声明 `--penguin-skin` 变量,且赋值为 `gray`
```js
assert(

View File

@ -8,9 +8,9 @@ forumTopicId: 18190
# --description--
`background-color`属性可以设置元素的背景颜色。
`background-color` 属性可以设置元素的背景颜色。
例如,你想将一个元素的背景颜色改为`green`,可以在`style`里面这样写:
如果想将一个元素的背景颜色改为 `green`,可以在 `style` 里面这样写:
```css
.green-background {
@ -20,23 +20,23 @@ forumTopicId: 18190
# --instructions--
创建一个`silver-background`class 并设置`background-color``silver` 并用在`div`元素上。
创建一个 `silver-background` class 并设置`background-color``silver`之后,将这个 class 添加到 `div` 元素上。
# --hints--
`div`元素应有`silver-background` class。
`div` 元素应有 `silver-background` class。
```js
assert($('div').hasClass('silver-background'));
```
`div`元素背景颜色应设置为`silver`
`div` 元素背景颜色应设置为 `silver`
```js
assert($('div').css('background-color') === 'rgb(192, 192, 192)');
```
class 名 `silver-background` 应该定义在 `style` 元素内`silver` 的值应该指定 `background-color` 属性
class 名 `silver-background` 应该定义在 `style` 元素内`background-color` 属性值应为 `silver`
```js
assert(code.match(/\.silver-background\s*{\s*background-color:\s*silver;\s*}/));

View File

@ -8,36 +8,36 @@ forumTopicId: 18200
# --description--
除了大多数系统提供的默认字体以外,我们也可以使用自定义字体。网络上有各种各样的字体,不过在这个例子中,我们将会尝试使用`Google`字体库。
在我们的网站上,除了使用系统提供的默认字体以外,我们也可以使用自定义字体。网络上有很多字体,不过在这个挑战中,我们将会使用 `Google Fonts` 字体库。
[Google 字体](https://fonts.google.com/)是一个免费的字体库,可以通过在 CSS 里设置字体的 URL 来引用。
[Google 字体](https://fonts.google.com/)是一个免费的 Web 字体库,我们只需要在 CSS 里设置字体的 URL 即可使用。
因此,下一步,我们引入和使用`Google`字体
接下来,我们就要引入和使用 Google Fonts注意如果 Google 在你的地区被限制访问,你可以选择跳过这个挑战)
引入`Google`字体,你需要复制`Google`字体的 URL并粘贴到 HTML 里面。在这个挑战中,我们需要引入`Lobster`字体。因此,请复制以下代码段,并粘贴到代码编辑器顶部,即放到`style`标签之前。
引入 Google Font你需要从 Google Fonts 上复制字体的 URL并粘贴到你的 HTML 里面。在这个挑战中,我们需要引入 `Lobster` 字体。因此,请复制以下代码段,并粘贴到代码编辑器顶部,即放到 `style` 标签之前。
`<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet" type="text/css">`
现在你可以设置`font-family`属性`Lobster`来使用`Lobster`字体。例子如下:
现在你可以通过将 `font-family` 属性值中的 `FAMILY_NAME` 替换为 `Lobster` 来使用 `Lobster` 字体
`font-family: FAMILY_NAME, GENERIC_NAME;`.
`GENERIC_NAME`是可选的,其他字体不可用时便作为后备字体在下一个挑战中可以得到体现
`GENERIC_NAME` 是可选的,它用来指明在其他字体不可用时后备字体。我们会在下一个挑战中详细说明
字体名区分大小写,并且如果字体名含有空格,需要用引号起来。例如,使用`"Open Sans"`字体需要添加引号,而`Lobster`字体则不需要。
字体名区分大小写,并且如果字体名含有空格,则在声明时需要用引号起来。例如,使用 `"Open Sans"` 字体需要添加引号,而 `Lobster` 则不需要。
# --instructions--
创建一个 CSS 规则,`font-family`属性里设置为`Lobster`字体,并把这个字体应用到所有的`h2`元素
引入 Lobster 字体,然后使用元素选择器将 `h2` 元素的 `font-family` 设置为 `Lobster`
# --hints--
引入`Lobster`字体。
引入 `Lobster` 字体。
```js
assert(new RegExp('googleapis', 'gi').test(code));
```
`h2`元素必须使用`Lobster`字体。
`h2` 元素使用 `Lobster` 字体。
```js
assert(
@ -47,7 +47,7 @@ assert(
);
```
使用`h2`选择器去改变字体样式。
使用元素选择器(`h2`)来改变字体样式。
```js
assert(
@ -57,7 +57,7 @@ assert(
);
```
`p`元素应保持使用`monospace`字体。
`p` 元素应保持使用 `monospace` 字体。
```js
assert(

View File

@ -8,19 +8,19 @@ forumTopicId: 301087
# --description--
使用 CSS 时可能会遇到浏览器兼容性问题。提供浏览器降级方案来避免潜在的问题显得很重要。
使用 CSS 时可能会遇到浏览器兼容性问题。提供浏览器降级方案来避免潜在的问题显得很重要。
当浏览器解析页面的 CSS 时,会自动忽视不能识别或者不支持的属性。举个子,如果使用 CSS 变量来指定站点的背景色, IE 浏览器由于不支持 CSS 变量会忽背景色。此,浏览器会使用其它值。如果没有找到其它值,会使用默认值,也就是没有背景色。
当浏览器解析页面的 CSS 时,会自动忽视不能识别或者不支持的属性。举个子,如果使用 CSS 变量来指定站点的背景色IE 浏览器由于不支持 CSS 变量会忽背景色。此,浏览器会尝试使用其它值。如果没有找到其它值,会使用默认值,也就是没有背景色。
这意味着如果想提供浏览器降级方案,在声明之前提供另一个更宽泛的值即可。这样老旧的浏览器会降级使用这个方案,新的浏览器会在后面的声明里覆盖降级方案。
# --instructions--
看来已经使用了变量做为 `.red-box` class 的背景色。来通过在存在的声明前添加其它的值为 red 的 `background` 声明来提高浏览器兼容性。
我们使用了 CSS 变量来定义 `.red-box` 的背景色。现在,请在使用 CSS 变量前添加属性值为 red 的 `background` 声明来处理浏览器兼容性的问题
# --hints--
`.red-box`该通过在存在的 `background` 声明前添加其它的值为 red 的`background` 来提供降级
`.red-box`存在属性值为 `red``background` 声明,作为使用 CSS 变量的降级解决方案
```js
assert(

View File

@ -8,17 +8,19 @@ forumTopicId: 301088
# --description--
当创建一个变量时,变量会在创建的选择器里可用。同时,在这个选择器的后代里也是可用的。这是因为 CSS 变量是可继承的,和普通的属性一样。
当创建一个变量时,变量会在创建变量的选择器里可用。同时,在这个选择器的后代选择器里也是可用的。这是因为 CSS 变量是可继承的,和普通的属性一样。
CSS 变量经常会定义在 <dfn>:root</dfn> 元素内,这样就可被所有选择器继承。`:root` 是一个 <dfn>pseudo-class</dfn> 选择器匹配文档的根选择器,通常指 `html` 元素。通过在 `:root` 里创建变量,变量在全局可用,以及在 style 样式的选择器里也生效。
CSS 变量经常会定义在 <dfn>:root</dfn> 元素内,这样就可被所有选择器继承。
`:root` 是一个<dfn>伪类</dfn>选择器,它是一个能够匹配文档根元素的选择器,通常指的是 `html` 元素。我们在 `:root` 里创建变量在全局都可用,即在任何选择器里都生效。
# --instructions--
`:root` 选择器里定义变量 `--penguin-belly`赋值 `pink`。会发现变量被继承,所有使用该变量的子元素都会有 pink 背景。
`:root` 选择器里定义变量 `--penguin-belly`设置它的属性值为 `pink`此时,你会发现变量被继承,所有使用该变量的子元素都会有粉色背景。
# --hints--
`:root` 里声明 `--penguin-belly` 变量并赋值 `pink`
应在 `:root` 里声明 `--penguin-belly` 变量并赋值 `pink`
```js
assert(

View File

@ -1,6 +1,6 @@
---
id: bad87fee1348bd9aedf08746
title: 从 Body 元素继承样式
title: 从 body 元素继承样式
challengeType: 0
videoUrl: 'https://scrimba.com/c/c9bmdtR'
forumTopicId: 18204
@ -8,27 +8,27 @@ forumTopicId: 18204
# --description--
我们已经证明每一个 HTML 页面都含有`body`元素,`body`元素也可以使用 CSS 样式。
我们已经证明每一个 HTML 页面都含有 `body` 元素,我们也可以在 `body` 元素使用 CSS 样式。
设置`body`元素样式的方跟设置其他 HTML 元素样式一样,并且其他元素也会继承`body`设置的样式。
设置 `body` 元素样式的方跟设置其他 HTML 元素样式的方式一样,并且其他元素也会继承 `body` 中所设置的样式。
# --instructions--
首先,创建一个文本内容为`Hello World``h1`标签元素。
首先,创建一个内容文本为 `Hello World``h1` 元素。
接着,在`body`CSS 规则里面添加一句`color: green;`改变页面其他元素的字体颜色`green绿色`
接着,在 `body`CSS 规则里面添加 `color: green;`这会将页面内所有字体颜色都设置为绿色
最后,同样`body`CSS 规则里面添加`font-family: monospace;`设置其他元素字体为`font-family: monospace;`
最后,在 `body`CSS 规则里面添加 `font-family: monospace;`这会将页面内所有字体的 `font-family` 都设置为 `monospace`
# --hints--
创建一个`h1`元素。
创建一个 `h1` 元素。
```js
assert($('h1').length > 0);
```
`h1`元素的文本内容应该为`Hello World`
`h1` 元素的内容文本应为 `Hello World`
```js
assert(
@ -39,7 +39,7 @@ assert(
);
```
确保`h1`元素具有结束标
确保 `h1` 元素具有结束标
```js
assert(
@ -49,13 +49,13 @@ assert(
);
```
`body`元素的`color`属性值应为`green`
`body` 元素的 `color` 属性值应为 `green`
```js
assert($('body').css('color') === 'rgb(0, 128, 0)');
```
`body`元素的`font-family`属性值应为`monospace`
`body` 元素的 `font-family` 属性值应为 `monospace`
```js
assert(
@ -65,7 +65,7 @@ assert(
);
```
`h1`元素应该继承`body``monospace`字体属性。
`h1` 元素应该继承 `body``monospace` 字体属性。
```js
assert(
@ -76,7 +76,7 @@ assert(
);
```
`h1`元素的字体颜色也应该继承`body`元素的绿色。
`h1` 元素的字体颜色继承 `body` 元素所设置的绿色。
```js
assert($('h1').length > 0 && $('h1').css('color') === 'rgb(0, 128, 0)');

View File

@ -8,21 +8,21 @@ forumTopicId: 18229
# --description--
除像素外,你也可以使用百分比来指定`border-radius`的值。
除像素外,你也可以使用百分比来指定 `border-radius` 的值。
# --instructions--
`border-radius`值设置为`50%`
`border-radius` 的属性值设置为 `50%`
# --hints--
图片的边框圆角应设置为`50%`让它看起来就像一个完整的圆
图片的边框圆角应设置为 `50%`这样图片就会是圆形的
```js
assert(parseInt($('img').css('border-top-left-radius')) > 48);
```
请确保百分值为`50%`
值应为 `50%`
```js
assert(code.match(/50%/g));

View File

@ -8,45 +8,45 @@ forumTopicId: 18249
# --description--
耶!我们刚刚又证明了行内样式会覆盖`style`标签里面所有的 CSS 声明。
耶!我们刚刚又证明了行内样式会覆盖 `style` 标签里面所有的 CSS 声明。
不过,还有一种方式可以覆盖重新 CSS 样式。这是所有方法里面最强大的一个。在此之前,我们要考虑清楚,为什么我们要覆盖 CSS 样式。
不过,还有一种方式可以覆盖重新 CSS 样式。这是所有方法里面最强大的一个。在此之前,我们要考虑清楚,为什么我们要覆盖 CSS 样式。
很多时候,你使用 CSS 库,有时候它们声明的样式会意外覆盖 CSS 样式。当你需要保证 CSS 样式不受影响,可以使用`!important`
很多时候,你使用 CSS 库的样式会意外覆盖你的 CSS 样式。如果想保证你的 CSS 样式不受影响,可以使用 `!important`
让我们回到`pink-text`class 声明之中,它已经被随其后的 class 声明id 声明以及行内样式所覆盖。
让我们回到 `pink-text` class 声明之中,它的颜色样式已被之后的 class 声明id 声明以及行内样式所覆盖。
# --instructions--
`pink-text`class 的`color`声明里面使用`!important`关键字,确保`h1`元素的字体颜色一定为粉色。 操作的方法大概如下: `color: red !important;`
`pink-text` class 的 `color` 声明里面使用 `!important` 关键字,确保 `h1` 元素的字体颜色为粉色。类似这样:`color: red !important`
# --hints--
`h1`元素应该包含`pink-text` class。
`h1` 元素应该包含 `pink-text` class。
```js
assert($('h1').hasClass('pink-text'));
```
`h1`元素应该包含`blue-text` class。
`h1` 元素应该包含 `blue-text` class。
```js
assert($('h1').hasClass('blue-text'));
```
`h1`元素应该包含一个名为`orange-text`的id
`h1` 元素`id` 应为 `orange-text`
```js
assert($('h1').attr('id') === 'orange-text');
```
`h1`元素应该包含`color: white`的行内样式声明。
`h1` 元素应该包含 `color: white` 的行内样式声明。
```js
assert(code.match(/<h1.*style/gi) && code.match(/<h1.*style.*color\s*?:/gi));
```
`pink-text` class 声明应含有`!important`关键字。
`pink-text` class 声明应含有 `!important` 关键字。
```js
assert(
@ -54,7 +54,7 @@ assert(
);
```
`h1`元素的字体颜色应为粉色。
`h1` 元素的字体颜色应为粉色。
```js
assert($('h1').css('color') === 'rgb(255, 192, 203)');

View File

@ -12,17 +12,17 @@ forumTopicId: 18251
不过我们还没结束,还有其他方法来覆盖 CSS 样式。你还记得 id 属性吗?
通过给`h1`元素添加 id 属性,来覆盖 class 属性定义的同名样式。
通过给 `h1` 元素添加 id 属性,我们便可以此来覆盖 class 属性定义的同名样式。
# --instructions--
`h1`元素添加 id 属性,属性值为`orange-text`。设置方式如下:
`h1` 元素添加 id 属性,属性值为 `orange-text`。设置方式如下:
`<h1 id="orange-text">`
`h1`元素继续保留`blue-text``pink-text`class。
`h1` 元素继续保留 `blue-text``pink-text` 这两个 class。
`style`元素中创建名为`orange-text`的 id 选择器。例子如下:
`style` 元素中创建名为 `orange-text` 的 id 选择器。例子如下:
```css
#brown-text {
@ -30,47 +30,47 @@ forumTopicId: 18251
}
```
注意:无论在`pink-text`class 的上面或者下面声明id 选择器的优先级总是高于 class 选择器。
**注意:**无论在 `pink-text` class 之前或者之后声明id 选择器的优先级总是高于 class 选择器。
# --hints--
`h1`元素应包含`pink-text` class。
`h1` 元素应包含 `pink-text` class。
```js
assert($('h1').hasClass('pink-text'));
```
`h1`元素应包含`blue-text` class。
`h1` 元素应包含 `blue-text` class。
```js
assert($('h1').hasClass('blue-text'));
```
`h1`的 id 属性值`orange-text`
`h1` 的 id 属性值应为 `orange-text`
```js
assert($('h1').attr('id') === 'orange-text');
```
只有一个`h1`元素。
应只有一个 `h1` 元素。
```js
assert($('h1').length === 1);
```
创建名为`orange-text`的 id 选择器。
应存在名为 `orange-text` 的 id 选择器。
```js
assert(code.match(/#orange-text\s*{/gi));
```
不要在`h1`元素里面使用`style行内样式`
不要在 `h1` 元素里面使用行内样式。
```js
assert(!code.match(/<h1.*style.*>/gi));
```
`h1`元素的字体颜色应为橘色。
`h1` 元素的字体颜色应为橘色。
```js
assert($('h1').css('color') === 'rgb(255, 165, 0)');

View File

@ -8,45 +8,45 @@ forumTopicId: 18252
# --description--
我们刚刚证明了id 选择器无论在`style`标签哪里声明,都会覆盖 class 声明的样式
我们刚刚证明了id 选择器无论在 `style` 标签的任何位置声明,都会覆盖 class 声明的样式
其实还有其他方法可以覆盖重写 CSS 样式。你还记得行内样式吗?
其实还有其他方法可以覆盖 CSS 样式。你还记得行内样式吗?
# --instructions--
使用行内样式尝试让`h1`的字体颜色变白。像下面这样使用:
使用行内样式尝试让 `h1` 的字体颜色变白。像这样使用:
`<h1 style="color: green">`
`h1`元素需继续保留`blue-text``pink-text`class。
`h1` 元素需继续保留 `blue-text``pink-text` 这两个 class。
# --hints--
`h1`元素应包含`pink-text` class。
`h1` 元素应包含 `pink-text` class。
```js
assert($('h1').hasClass('pink-text'));
```
`h1`元素应包含`blue-text` class。
`h1` 元素应包含 `blue-text` class。
```js
assert($('h1').hasClass('blue-text'));
```
`h1`元素应该包含一个名为`orange-text`的id
`h1` 元素`id` 应为 `orange-text`
```js
assert($('h1').attr('id') === 'orange-text');
```
`h1`元素应含有行内样式。
`h1` 元素应含有行内样式。
```js
assert(document.querySelector('h1[style]'));
```
`h1`元素的字体颜色应该为白色。
`h1` 元素的字体颜色应该为白色。
```js
assert($('h1').css('color') === 'rgb(255, 255, 255)');

View File

@ -8,45 +8,45 @@ forumTopicId: 18253
# --description--
"pink-text" class 覆盖了`body`元素的 CSS 声明。
"pink-text" class 覆盖了 `body` 元素的 CSS 声明。
我们刚刚证明了我们的 class 会覆盖`body`的 CSS 样式。那么下一个问题是,我们要怎么样才能覆盖我们的`pink-text`class
我们刚刚证明了我们的 class 会覆盖 `body` 的 CSS 样式。那么下一个问题是,我们要怎么样才能覆盖我们的 `pink-text` class 中所定义的样式
# --instructions--
创建一个字体颜色为`blue``blue-text`CSS class并确保它在`pink-text`下方声明。
创建一个字体颜色为 `blue``blue-text` class并确保它在 `pink-text` 下方声明。
在含有`pink-text`class 的`h1`元素里面,添加一个`blue-text`class,这时候,我们将能看到到底是谁获胜。
在含有 `pink-text` class 的 `h1` 元素里面,添加`blue-text` class。我们来看看到底是谁获胜。
HTML 同时应用多个 class 属性需以空格来间隔,例子如下:
`class="class1 class2"`
**注意:** HTML 元素里应用的 class 的先后顺序无关紧要。
**注意:**HTML 元素里应用的 class 的先后顺序无关紧要。
但是,在`<style>`标签里面声明的`class`顺序十分重要。第二个声明始终优于第一个声明。因为`.blue-text``.pink-text`的后面声明,所以`.blue-text`会覆盖`.pink-text`的样式。
但是,在 `<style>` 标签里面声明的 `class` 顺序十分重要,之后的声明会覆盖之前的声明。由于 `.blue-text``.pink-text` 的后面出现,所以 `.blue-text` 里的样式会覆盖 `.pink-text`的样式。
# --hints--
`h1`元素应包含`pink-text` class。
`h1` 元素应包含 `pink-text` class。
```js
assert($('h1').hasClass('pink-text'));
```
`h1`元素应包含`blue-text` class。
`h1` 元素应包含 `blue-text` class。
```js
assert($('h1').hasClass('blue-text'));
```
`blue-text``pink-text`需同时应用于`h1`元素上。
`blue-text``pink-text` 需同时应用于 `h1` 元素上。
```js
assert($('.pink-text').hasClass('blue-text'));
```
`h1`元素的颜色应为蓝色。
`h1` 元素的颜色应为蓝色。
```js
assert($('h1').css('color') === 'rgb(0, 0, 255)');

View File

@ -8,33 +8,33 @@ forumTopicId: 18258
# --description--
有时候, HTML 元素的样式会跟其他样式发生冲突。
有时候HTML 元素的样式会跟其他样式发生冲突。
就像`h1`元素也不能同时设置`green``pink`两种样式
就像 `h1` 元素也不能同时设置 `green``pink` 两种颜色
让我们尝试创建一个字体颜色为`pink`的 class并应于用其中一个元素中。猜一猜它会覆盖`body`元素设置的`color: green;`CSS 属性吗?
让我们尝试创建一个字体颜色为 `pink` 的 class并应于用其中一个元素中。猜一猜它会覆盖 `body` 元素设置的 `color: green;` CSS 规则吗?
# --instructions--
创建一个能将元素的字体颜色改为`pink`CSS class名为`pink-text`
创建一个能将元素的字体颜色改为 `pink` 的 class名为 `pink-text`
`h1`元素添加`pink-text`class。
`h1` 元素添加 `pink-text` class。
# --hints--
`h1`元素应含有`pink-text` class。
`h1` 元素应含有 `pink-text` class。
```js
assert($('h1').hasClass('pink-text'));
```
`<style>`标签应含有一个可以改变字体颜色的`pink-text` class。
`<style>` 标签应含有一个可以改变字体颜色的 `pink-text` class。
```js
assert(code.match(/\.pink-text\s*\{\s*color\s*:\s*.+\s*;\s*\}/g));
```
`h1`元素的字体颜色应该为`pink粉色`
`h1` 元素的字体颜色应为粉色
```js
assert($('h1').css('color') === 'rgb(255, 192, 203)');

View File

@ -1,6 +1,6 @@
---
id: bad87fee1348bd9aede08807
title: 设置元素的字体
title: 设置元素的字体族
challengeType: 0
videoUrl: 'https://scrimba.com/c/c3bvpCg'
forumTopicId: 18278
@ -8,9 +8,9 @@ forumTopicId: 18278
# --description--
通过`font-family`属性,可以设置元素里的字体样式
通过 `font-family` 属性,我们可以设置元素里的字体族名
如果你想设置`h2`元素的字体`sans-serif`可以用以下的 CSS 规则
如果你想`h2` 元素的字体设置为 `sans-serif`,可以这样写
```css
h2 {
@ -20,11 +20,11 @@ h2 {
# --instructions--
确保`p`元素使用`monospace`字体
请将 `p` 元素的字体设置为 `monospace`
# --hints--
`p`元素应使用`monospace`字体。
`p` 元素应使用 `monospace` 作为字体。
```js
assert(

View File

@ -8,23 +8,23 @@ forumTopicId: 18279
# --description--
除了class属性每一个 HTML 元素都有`id`属性。
除了 class 属性,每一个 HTML 元素都有一个 `id` 属性。
使用`id`有几个好处:你可以通过`id`选择器来改变单个元素的样式稍后的课程中,你会了解到在 JavaScript 里面,可以通过`id`来选择元素和操作元素。
使用 `id` 有几个好处:你可以通过 `id` 选择器来改变单个元素的样式。在稍后的课程中,你会了解到如何在 JavaScript 里面通过 `id` 来选择和操作元素。
`id`属性应是唯一的。浏览器不强迫执行这规范,但是这是广泛认可的最佳实践。所以,请不要给多个元素设置相同的`id`属性
根据规范,`id` 属性应是唯一的。尽管浏览器并非必须执行这规范,但 `id` 唯一是广泛认可的最佳实践。因此,请不要给多个元素设置相同的 `id`
设置`h2`元素的 id 为`cat-photo-app`的方法如下:
设置 `h2` 元素的 id 为 `cat-photo-app` 的代码如下:
`<h2 id="cat-photo-app">`
# --instructions--
设置`form`元素的 id `cat-photo-form`
请将 `form` 元素的 id 设置为 `cat-photo-form`
# --hints--
`form`元素的 id 应为`cat-photo-form`
`form` 元素的 id 应为 `cat-photo-form`
```js
assert($('form').attr('id') === 'cat-photo-form');

View File

@ -8,9 +8,9 @@ forumTopicId: 18282
# --description--
CSS 的`width`属性可以控制元素的宽度。图片的`width`宽度类似于字体的`px`(像素)值
CSS 的 `width` 属性可以控制元素的宽度。和设置文本字号一样,我们会以 `px`(像素)为单位来设置图片的宽度
如,你想创建一个叫`larger-image`的 CSS class 来控制 HTML 元素的宽度为 500px我们可以这样
如,如果你想创建一个叫 `larger-image` 的 CSS `class` 来控制 HTML 元素的宽度为 500px可以这样
```html
<style>
@ -22,14 +22,11 @@ CSS 的`width`属性可以控制元素的宽度。图片的`width`宽度类似
# --instructions--
创建一个`smaller-image`的 CSS class设置图片宽度为 100px。
**注意:**
由于不同浏览器的差异性,你可能需要将浏览器缩放到 100% 来通过该挑战。
创建一个`smaller-image` 的 CSS `class`,并用它来设置图片宽度为 100px。
# --hints--
`img`元素应该含有`smaller-image` class
`img` 元素`class` 应包含 `smaller-image`
```js
assert(
@ -38,7 +35,7 @@ assert(
);
```
图片宽度应为 100px(像素),且浏览器缩放应为默认 100%
图片宽度应为 100px。
```js
assert($('img').width() === 100);

View File

@ -8,11 +8,11 @@ forumTopicId: 18304
# --description--
所有浏览器都有几种默认字体。这些通用字体包括`monospace``serif``sans-serif`
所有浏览器都有几种默认字体包括`monospace``serif``sans-serif`
字体不可用,你可以告诉浏览器通过 “降级” 去使用其他字体。
字体不可用的时候,你可以告诉浏览器通过“降级”去使用其他字体。
例如,如果你想将一个元素的字体设置成`Helvetica``Helvetica`不可用时,降级使用`sans-serif`字体,那么可以这样写:
如果你想将一个元素的字体设置成 `Helvetica`但当 `Helvetica` 不可用时,降级使用 `sans-serif` 字体,那么可以这样写:
```css
p {
@ -20,20 +20,19 @@ p {
}
```
通用字体名不区分大小写。同时,也不需要使用引号,因为它们是 CSS 关键字。
通用字体名不区分大小写。同时,也不需要使用引号,因为它们是 CSS 中的关键字。
# --instructions--
首先,添加`monospace`字体到`h2`元素里,它现在拥有`Lobster``monospace`两种字体。
首先,添加 `monospace` 字体到 `h2` 元素里,它现在拥有 `Lobster``monospace` 两种字体。
在上一个挑战里,你已经通过`link`标签引入谷歌`Lobster`字体。现在让我们注释掉谷歌`Lobster`字体的引入(使用我们之前学过的`HTML`注释),使字体失效。你会发现`h2`元素降级到了`monospace`字体。
在上一个挑战里,你已经通过 `link` 标签从谷歌字体库引入了 `Lobster` 字体。现在让我们使用之前学习的 HTML 注释,将 `Lobster` 字体的引入注释掉,这样一来,引入的 `Lobster` 字体失效。此时,你会发现 `h2` 元素降级到了 `monospace` 字体。
**注意:**
如果电脑已经安装了`Lobster`字体,你将看不到这个降级过程,因为浏览器会找到该字体。
**注意:**如果你的电脑里已经安装了 `Lobster` 字体,你就看不到这个降级过程,因为浏览器还是会在你的电脑中找到该字体。
# --hints--
`h2`元素应该含有`Lobster`字体
`h2` 元素的字体应设置为 `Lobster`
```js
assert(
@ -43,7 +42,7 @@ assert(
);
```
`Lobster`字体失效时,`h2`元素应该降级使用`monospace`字体。
`Lobster` 字体失效时,`h2` 元素应该降级使用 `monospace` 字体。
```js
assert(
@ -53,13 +52,13 @@ assert(
);
```
通过添加`<!--`,注释掉谷歌`Lobster`字体的引入。
通过添加`<!--`,注释掉 `Lobster` 字体的引入。
```js
assert(new RegExp('<!--[^fc]', 'gi').test(code));
```
确保注释要以`-->`结束。
确保注释要以 `-->` 结束。
```js
assert(new RegExp('[^fc]-->', 'gi').test(code));

View File

@ -8,29 +8,29 @@ forumTopicId: 18311
# --description--
通过 CSS class 选择器,多个 HTML 元素可以使用相同的 CSS 样式规则。你可以将`red-text`class 选择器应用在第一个`p`元素上。
通过 CSS class 选择器,多个 HTML 元素可以使用相同的 CSS 样式规则。你可以将 `red-text` class 添加到第一个 `p` 元素上。
# --hints--
`h2`元素应该是红色的。
`h2` 元素应该是红色的。
```js
assert($('h2').css('color') === 'rgb(255, 0, 0)');
```
`h2`元素应含有`red-text` class 选择器
`h2` 元素应含有 `red-text` class。
```js
assert($('h2').hasClass('red-text'));
```
第一个`p`元素应为红色。
第一个 `p` 元素应为红色。
```js
assert($('p:eq(0)').css('color') === 'rgb(255, 0, 0)');
```
第二和第三个`p`元素不应为红色。
第二和第三个 `p` 元素不应为红色。
```js
assert(
@ -39,7 +39,7 @@ assert(
);
```
第一个`p`元素应该包含`red-text` class 选择器
第一个 `p` 元素应该包含 `red-text` class。
```js
assert($('p:eq(0)').hasClass('red-text'));

View File

@ -1,6 +1,6 @@
---
id: bad87fee1348bd9aedf08736
title: 给 HTML 的 Body 元素添加样式
title: 给 HTML 的 body 元素添加样式
challengeType: 0
videoUrl: 'https://scrimba.com/c/cB77PHW'
forumTopicId: 18313
@ -8,15 +8,15 @@ forumTopicId: 18313
# --description--
现在让我们来讨论一下 CSS 继承。
现在让我们来讨论一下 CSS 中的继承。
每一个 HTML 页面都有一个`body`元素。
每一个 HTML 页面都有一个 `body` 元素。
# --instructions--
我们可以通过设置`background-color``black`,来证明`body`元素的存在。
我们可以通过设置 `background-color` 的属性值为 `black`,来证明 `body` 元素的存在。
添加以下代码`style`标签里面:
请将以下代码添加到 `style` 标签里面:
```css
body {
@ -26,13 +26,13 @@ body {
# --hints--
`body`元素的`background-color`应该是黑色
`body` 元素的 `background-color` 应为黑色。
```js
assert($('body').css('background-color') === 'rgb(0, 0, 0)');
```
确保 CSS 规则格式书写正确,需要开关大括号
确保 CSS 规则格式书写正确,左右大括号也应匹配
```js
assert(
@ -40,7 +40,7 @@ assert(
);
```
确保 CSS 规则以分号结尾。
确保 CSS 规则以分号结尾。
```js
assert(

View File

@ -8,22 +8,21 @@ forumTopicId: 301089
# --description--
最近的几个挑战都是设置元素的内边距和外边距的`px`值。像素`px`是一长度单位来告诉浏览器应该如何调整元素大小和空间大小。其实除了像素CSS 也有其他不同的长度单位供我们使用。
最近的几个挑战都是设置元素的内边距和外边距的 `px` 值。`px` 的意思是像素,它是一长度单位来告诉浏览器应该如何调整元素大小和空间大小。其实除了像素CSS 也有其他单位供我们使用。
单位长度的类型可以分成 2 种,一种是相对的,一种是绝对。例如,`in``mm`分别代表着英寸和毫米。绝对长度单位会接近屏幕上的实际测量值,不过不同屏幕的分辨率会存在差异,可能会导致一些误差。
单位长度的类型可以分成 2 种:相对和绝对。例如,`in``mm` 分别代表着英寸和毫米。绝对长度单位会接近屏幕上的实际测量值,不过不同屏幕的分辨率会存在差异,这就可能会造成误差。
相对单位长度,就像`em``rem`,它们会依赖其他长度的值。就好像`em`的大小基于元素字体的`font-size`值,如果使用`em`单位来设置`font-size`值,它的值会跟随父元素的`font-size`值来改变。
相对单位长度,比如 `em``rem`,它们的实际值会依赖其他长度的值而决定。比如 `em` 的大小基于元素字体的 `font-size` 值。如果使用 `em` 单位来设置 `font-size` 值,它的值会跟随父元素的 `font-size` 值来改变。
**注意:**
有些单位长度选项是相对视窗大小来改变值的,符合了响应式 web 的设计原则。
**注意:**有些单位长度选项是相对视窗大小来改变值的,这种设定符合响应式 web 的设计原则。
# --instructions--
`red-box` class 添加`padding`属性,并设置`1.5em`
`red-box` class 添加 `padding` 属性,并设置其属性值为 `1.5em`
# --hints--
`red-box` class 应该含有`padding`属性。
class 为 `red-box` 的元素应含有 `padding` 属性。
```js
assert(
@ -34,7 +33,7 @@ assert(
);
```
`red-box` class `padding`值应为 1.5em。
class 为 `red-box`元素的 `padding` 属性值应为 `1.5em`
```js
assert(code.match(/\.red-box\s*?{[\s\S]*padding:\s*?1\.5em/gi));

View File

@ -8,9 +8,9 @@ forumTopicId: 18337
# --description--
CSS 的`class`具有可重用性,可应用于各种 HTML 元素。
CSS 的 `class` 具有可重用性,可应用于各种 HTML 元素。
一个 CSS`class`声明示例如下所示:
一个 CSS `class` 声明示例如下所示:
```html
<style>
@ -20,35 +20,37 @@ CSS 的`class`具有可重用性,可应用于各种 HTML 元素。
</style>
```
可以看到,我们在`<style>`样式声明区域里,创建了一个名为`blue-text``class`选择器。 你可以将 CSS`class`选择器应用到一个HTML元素里如下所示 `<h2 class="blue-text">CatPhotoApp</h2>` 注意:在`style`样式区域声明里,`class`需以`.`开头。而在 HTML 元素里,`class`属性的前面不能添加`.`
可以看到,我们在 `<style>` 样式声明区域里,创建了一个名为 `blue-text``class` 选择器。你可以将 CSS `class` 添加到一个 HTML 元素里,如下所示:`<h2 class="blue-text">CatPhotoApp</h2>`
**注意:**在 `style` 样式区域声明里,`class` 需以 `.` 开头。而在 HTML 元素里,`class` 属性的前面不能添加 `.`
# --instructions--
`style`样式声明里,把`h2`元素选择器改为`.red-text`class 选择器,同时将颜色`blue`变为`red`
`style` 样式声明里,把 `h2` 元素选择器改为 `.red-text` class 选择器,同时将颜色 `blue` 改为 `red`
`h2`元素里,添加一个`class`属性,且值为`'red-text'`
`h2` 元素里,添加一个 `class`值为 `'red-text'`
# --hints--
`h2`元素应为红色。
`h2` 元素应为红色。
```js
assert($('h2').css('color') === 'rgb(255, 0, 0)');
```
`h2`元素应含有`red-text` class 选择器
`h2` 元素应含有 `red-text` class。
```js
assert($('h2').hasClass('red-text'));
```
`style`样式声明区域里应该包含一个`red-text` class 选择器,且它的颜色应为红色。
`style` 样式声明区域里应该包含一个 `red-text` class 选择器,且它的颜色应为红色。
```js
assert(code.match(/\.red-text\s*\{\s*color\s*:\s*red;\s*\}/g));
```
要在`h2`元素里使用行内样式`style="color: red"`
应在 `h2` 元素里使用行内样式 `style="color: red"`
```js
assert($('h2').attr('style') === undefined);

View File

@ -8,21 +8,23 @@ forumTopicId: 301090
# --description--
创建变量后CSS 属性可以通过用变量名来使用它的值。
创建变量后CSS 属性可以通过用变量名来使用它对应的值。
```css
background: var(--penguin-skin);
```
因为引用了`--penguin-skin`变量的值,使用了这个样式的元素背景颜色会是灰色。 注意:如果变量名不匹配,样式不会生效。
因为引用了 `--penguin-skin` 变量的值,使用了这个样式的元素背景颜色会是灰色。
**注意:**如果变量名不匹配,则样式不会生效。
# --instructions--
`penguin-top``penguin-bottom``right-hand``left-hand`class`background`属性均使用`--penguin-skin`变量值。
`--penguin-skin` 的值应用到 class 为 `penguin-top``penguin-bottom``right-hand``left-hand` `background`属性值。
# --hints--
`penguin-top` class `background`属性应使用`--penguin-skin`变量值。
class 为 `penguin-top` `background` 属性应使用变量 `--penguin-skin`值。
```js
assert(
@ -32,7 +34,7 @@ assert(
);
```
`penguin-bottom` class `background`属性应使用`--penguin-skin`变量值。
class 为 `penguin-bottom` `background` 属性应使用变量 `--penguin-skin`值。
```js
assert(
@ -42,7 +44,7 @@ assert(
);
```
`right-hand` class `background`属性应使用`--penguin-skin`变量值。
class 为 `right-hand` `background` 属性应使用变量 `--penguin-skin`值。
```js
assert(
@ -52,7 +54,7 @@ assert(
);
```
`left-hand` class `background`属性应使用`--penguin-skin`变量值。
class 为 `left-hand` `background` 属性应使用变量 `--penguin-skin`值。
```js
assert(

View File

@ -8,17 +8,17 @@ forumTopicId: 301091
# --description--
CSS 变量可以简化媒体查询的方式。
CSS 变量可以简化媒体查询的定义方式。
例如,当屏幕小于或大于媒体查询所设置的值,通过改变变量的值,那么用了变量的元素样式都会得到响应修改。
例如,当屏幕小于或大于媒体查询所设置的值,只要我们更新变量的值,那么使用了变量的元素样式都会改。
# --instructions--
`media query媒体查询`声明的`:root`选择器里,重定义`--penguin-size`的值为 200px且重定义`--penguin-skin`的值为`black`,然后通过缩放页面来查看是否生效。
`media query`(媒体查询)声明的 `:root` 选择器里,重定义 `--penguin-size` 的值为 200px且重定义 `--penguin-skin` 的值为 `black`,然后通过缩放页面来查看它们是否生效。
# --hints--
`:root`中的`--penguin-size`值应为`200px`
`:root` 中的 `--penguin-size` 值应为 `200px`
```js
assert(
@ -28,7 +28,7 @@ assert(
);
```
`:root`中的`--penguin-skin`值应为`black`
`:root` 中的 `--penguin-skin` 值应为 `black`
```js
assert(

View File

@ -8,11 +8,11 @@ forumTopicId: 18338
# --description--
许多人对超过 1600 万种颜色的可能性感到不知所措,并且很难记住十六进制编码。幸运的是,它也提供缩写的方法。
许多人对超过 1600 万种颜色感到不知所措,并且很难记住十六进制编码。幸运的是,它也提供缩写的方法。
例如,红色的`#FF0000`十六进制编码可以缩写成`#F00`。在这种缩写形式里三个数字分别代表着红R绿GB色。
例如,红色的 `#FF0000` 十六进制编码可以缩写成 `#F00`。在这种缩写形式里三个数字分别代表着红R绿GB三原色。
这样,颜色的可能性减少到了大约 4000 种。且在浏览器里`#FF0000``#F00`完全是同一种颜色。
这样,颜色的数量减少到了大约 4000 种。且在浏览器里 `#FF0000``#F00` 是完全相同的颜色。
# --instructions--
@ -22,49 +22,49 @@ forumTopicId: 18338
# --hints--
文本内容为`I am red!``h1`元素的字体颜色应该为`red`
文本内容为 `I am red!``h1` 元素的字体颜色应该为红色
```js
assert($('.red-text').css('color') === 'rgb(255, 0, 0)');
```
使用缩写的`red``十六进制编码`,而不是`#FF0000`
使用红色的十六进制编码的缩写形式,不应使用 `#FF0000`
```js
assert(code.match(/\.red-text\s*?{\s*?color:\s*?#F00\s*?;\s*?}/gi));
```
文本内容为`I am green!``h1`元素的字体颜色应该为`green`
文本内容为 `I am green!``h1` 元素的字体颜色应该为绿色
```js
assert($('.green-text').css('color') === 'rgb(0, 255, 0)');
```
使用缩写的`green``十六进制编码`,而不是`#00FF00`的十六进制编码
使用绿色的十六进制编码的缩写形式,不应使用 `#00FF00`
```js
assert(code.match(/\.green-text\s*?{\s*?color:\s*?#0F0\s*?;\s*?}/gi));
```
文本内容为`I am cyan!``h1`元素的字体颜色应该为`cyan`
文本内容为 `I am cyan!``h1` 元素的字体颜色应该为蓝绿色
```js
assert($('.cyan-text').css('color') === 'rgb(0, 255, 255)');
```
使用缩写的`cyan``十六进制编码`,而不是`#00FFFF`的十六进制编码
使用蓝绿色的十六进制编码的缩写形式,不应使用 `#00FFFF`
```js
assert(code.match(/\.cyan-text\s*?{\s*?color:\s*?#0FF\s*?;\s*?}/gi));
```
文本内容为`I am fuchsia!``h1`元素的字体颜色应该为`fuchsia`
文本内容为 `I am fuchsia!``h1` 元素的字体颜色应该为紫红色
```js
assert($('.fuchsia-text').css('color') === 'rgb(255, 0, 255)');
```
使用缩写的`fuchsia``十六进制编码`,而不是`#FF00FF`的十六进制编码
使用紫红色的十六进制编码的缩写形式,不应使用 `#FF00FF`
```js
assert(code.match(/\.fuchsia-text\s*?{\s*?color:\s*?#F0F\s*?;\s*?}/gi));

View File

@ -8,11 +8,11 @@ forumTopicId: 18339
# --description--
通过`id`属性,你可以做一些很酷的事情,例如,就像 class 一样,你可以使用 CSS 来设置他们的样式
通过 `id` 属性,你可以做一些很酷的事情。比如像 class 一样,你可以使用 CSS 来设置他们的样式
可是`id`不可以重用,只应用于一个元素上。同时,在 CSS 里,`id`的优先级高于`class`如果一个元素同时应用了`class``id`设置样式有冲突,会优先应用`id`的样式。
不过`id` 不可以重复,它只能作用于一个元素上。同时,在 CSS 里,`id` 的优先级高于 `class`如果一个元素同时应用了 `class``id`且两者设置样式有冲突,会优先应用 `id` 中所设置的样式。
选择`id``cat-photo-element`的元素,并设置它的背景样式为`green`,可以在`style`标签里这样写:
选择 `id``cat-photo-element` 的元素,并设置它的背景样式为 `green`,可以在 `style` 标签里这样写:
```css
#cat-photo-element {
@ -20,27 +20,27 @@ forumTopicId: 18339
}
```
注意在`style`标签里,声明 class 的时候必须在名字前插入`.`符号。同样,在声明 id 的时候,也必须在名字前插入`#`符号。
注意在 `style` 标签里,声明 class 的时候必须在名字前插入 `.` 符号。同样,在声明 id 的时候,也必须在名字前插入 `#` 符号。
# --instructions--
尝试给含有`cat-photo-form`id属性的`form`表单的背景颜色设置为`green`
请将 id 为 `cat-photo-form``form` 表单的背景颜色设置为 `green`
# --hints--
设置`form`元素的 id `cat-photo-form`
`form` 元素的 id 应为 `cat-photo-form`
```js
assert($('form').attr('id') === 'cat-photo-form');
```
`form`元素应含有`background-color`css 属性并且值`green`
`form` 元素应含有 `background-color` CSS 属性且其属性值应`green`
```js
assert($('#cat-photo-form').css('background-color') === 'rgb(0, 128, 0)');
```
确保`form`元素含有`id`属性
确保 `form` 元素`id` 设置正确
```js
assert(
@ -49,7 +49,7 @@ assert(
);
```
不要在`form`元素上添加其他`class`属性或者`style`行内样式。
不要在 `form` 元素上添加其他 `class` 属性或者 `style` 行内样式。
```js
assert(!code.match(/<form.*style.*>/gi) && !code.match(/<form.*class.*>/gi));

View File

@ -8,11 +8,11 @@ forumTopicId: 301092
# --description--
已经通过设置元素的`id``class`来显示想要的样式,而它们也被分别叫做 ID 选择器和 Class 选择器。另外,也还有其他的 CSS 选择器可以让我们给特定的元素设置样式。
我们已经通过设置元素的 `id``class` 来显示想要的样式。这就是 ID 选择器和 Class 选择器。另外,也还有其他的 CSS 选择器可以让我们给特定的元素设置样式。
让我们再次通过猫咪图片项目来练习 CSS 选择器。
在这个挑战里,你会使用`[attr=value]`属性选择器修改复选框的样式。这个选择器使用特定的属性值来匹配和设置元素样式。例如,下面的代码会改变所有`type``radio`的元素的外边距。
在这个挑战里,我们需要使用 `[attr=value]` 属性选择器修改复选框的样式。这个选择器使用特定的属性值来匹配和设置元素样式。例如,下面的代码会改变所有 `type``radio` 的元素的外边距。
```css
[type='radio'] {
@ -22,11 +22,11 @@ forumTopicId: 301092
# --instructions--
使用`type`属性选择器,尝试改变复选框的上外边距为 10px下外边距为 15px。
使用 `type` 属性选择器,设置复选框的上外边距为 10px下外边距为 15px。
# --hints--
使用`type`属性选择器来匹配复选框。
使用 `type` 属性选择器来匹配复选框。
```js
assert(

View File

@ -8,45 +8,45 @@ forumTopicId: 18345
# --description--
让我们再试一次,不过这一次轮到`margin`了。
让我们再试一次,不过这一次轮到 `margin` 了。
同样,每个方向的外边距值可以在`margin`属性里面汇总声明,来代替分别声明`margin-top``margin-right``margin-bottom``margin-left`属性的方式,代码如下:
同样,每个方向的外边距值可以在 `margin` 属性里面汇总声明,而无需分别通过 `margin-top``margin-right``margin-bottom``margin-left` 分别声明,代码如下:
`margin: 10px 20px 10px 20px;`
这四个值按顺时针排序:上,右,下,左,并且设置的效果等同于特定声明每一个方向的`margin`
这四个值按顺时针排序:上、右、下、左。汇总声明的效果与为每一个方向单独声明 `margin` 的效果是一致的
# --instructions--
按照顺时针顺序,给".blue-box" class的上外边距以及左外边距设置为`40px`,右外边距和下外边距设置为`20px`
按照顺时针顺序,将 class 为 "blue-box" 元素的上外边距以及左外边距设置为 `40px`,右外边距和下外边距设置为 `20px`
# --hints--
`blue-box` class 的上外边距应为`40px`
class 为 `blue-box` 的元素的上外边距应为 `40px`
```js
assert($('.blue-box').css('margin-top') === '40px');
```
`blue-box` class 的右外边距应为`20px`
class 为 `blue-box` 的元素的右外边距应为 `20px`
```js
assert($('.blue-box').css('margin-right') === '20px');
```
`blue-box` class 的下外边距应为`20px`
class 为 `blue-box` 的元素的下外边距应为 `20px`
```js
assert($('.blue-box').css('margin-bottom') === '20px');
```
`blue-box` class 的左外边距应为`40px`
class 为 `blue-box` 的元素的左外边距应为 `40px`
```js
assert($('.blue-box').css('margin-left') === '40px');
```
你应该沿顺时针方向设置`blue-box`的外边距。
沿顺时针方向设置 `blue-box` 的外边距。
```js
const removeCssComments = (str) => str.replace(/\/\*[\s\S]+?\*\//g, '');

View File

@ -8,43 +8,43 @@ forumTopicId: 18346
# --description--
如果不想每次都要分别声明`padding-top``padding-right``padding-bottom``padding-left`属性,可以把它们汇总在`padding`属性里面声明,如下
如果不想每次都要分别声明 `padding-top``padding-right``padding-bottom``padding-left` 属性,可以把它们汇总在 `padding` 属性里面一并声明,像是这样
`padding: 10px 20px 10px 20px;`
这四个值按顺时针排序:上,右,下,左,并且设置的效果等同于特定声明每一个方向的`padding`
这四个值按顺时针排序:上、右、下、左,并且设置的效果等同于分别声明每一个方向的 `padding`
# --instructions--
按照顺时针顺序,给".blue-box" class的上内边距以及左内边距设置为`40px`,右内边距和下内边距设置为`20px`
按照顺时针顺序,将 class 为 "blue-box" 的元素的上内边距以及左内边距设置为 `40px`,右内边距和下内边距设置为 `20px`
# --hints--
`blue-box` class 的上内边距应为`40px`
class 为 `blue-box` 的元素的上内边距应为 `40px`
```js
assert($('.blue-box').css('padding-top') === '40px');
```
`blue-box` class 的右内边距应为`20px`
class 为 `blue-box` 的元素的右内边距应为 `20px`
```js
assert($('.blue-box').css('padding-right') === '20px');
```
`blue-box` class 的下内边距应为`20px`
class 为 `blue-box` 的元素的下内边距应为 `20px`
```js
assert($('.blue-box').css('padding-bottom') === '20px');
```
`blue-box` class 的左内边距应为`40px`
class 为 `blue-box` 的元素的左内边距应为 `20px`
```js
assert($('.blue-box').css('padding-left') === '40px');
```
你应该按照顺时针排序,汇总声明的方式来设置`blue-box``padding`值。
你应该按照顺时针排序,汇总声明的方式来设置 `blue-box``padding` 值。
```js
const removeCssComments = (str) => str.replace(/\/\*[\s\S]+?\*\//g, '');

View File

@ -10,18 +10,18 @@ forumTopicId: 18349
在 CSS 中,页面样式的属性有几百个,但常用的不过几十个。
通过行内样式`<h2 style="color: red;">CatPhotoApp</h2>`,就可以修改`h2`元素的颜色为红色。
通过行内样式 `<h2 style="color: red;">CatPhotoApp</h2>`,就可以`h2` 元素的颜色设置为红色。
当我们只需要改变元素的某个样式时,行内样式最简单直观。当我们需要同时改变元素的很多样式时,`层叠样式表`往往是一个更好的选择。
当我们只需要改变一个元素的某个样式时,行内样式最简单直观。当我们需要同时改变元素的很多样式时,使用样式表往往是一个更好的选择。
在代码的顶部,创建一个`style`声明区域,如下方所示:
在代码的顶部,创建一个 `style` 声明区域,如下方所示:
```html
<style>
</style>
```
`style`样式声明区域内,可以创建一个`元素选择器`,应用所有`h2`元素。例如,如果你想所有`h2`元素变成红色,可以添加下方的样式规则:
`style` 样式声明区域内,可以创建一个`元素选择器`这里的规则将会应用所有 `h2` 元素。如果想让所有 `h2` 元素变成红色,可以添加下方的样式规则:
```html
<style>
@ -31,39 +31,39 @@ forumTopicId: 18349
</style>
```
注意,在每个元素的样式声明区域里,左右花括号`{``}`一定要写全。你需要确保所有样式规则位于花括号之间,并且每条样式规则都以分号结束。
**注意:**在每个元素的样式声明区域里,左右花括号 `{``}` 一定要匹配。你需要确保所有样式规则位于花括号之间,并且每条样式规则都以分号结束。
# --instructions--
删除`h2`元素的行内样式,然后创建`style`样式声明区域,最后添加 CSS 样式规则使`h2`元素变为蓝色。
删除 `h2` 元素的行内样式,然后创建 `style` 样式声明区域,最后添加 CSS 样式规则使 `h2` 元素变为蓝色。
# --hints--
删除`h2`元素的行内样式。
删除 `h2` 元素的行内样式。
```js
assert(!$('h2').attr('style'));
```
创建一个`style`样式声明区域。
创建一个 `style` 样式声明区域。
```js
assert($('style') && $('style').length >= 1);
```
`h2`元素颜色应为蓝色。
`h2` 元素颜色应为蓝色。
```js
assert($('h2').css('color') === 'rgb(0, 0, 255)');
```
确保`h2`选择器的内容被花括号所围绕,并且样式规则以分号结束。
确保 `h2` 选择器的内容被花括号所包围,样式规则以分号结束。
```js
assert(code.match(/h2\s*\{\s*color\s*:.*;\s*\}/g));
```
所有`style`应该是有效的且有一个结束标签。
`style` 标签应符合语法,且应有一个结束标签。
```js
assert(

View File

@ -8,17 +8,17 @@ forumTopicId: 301093
# --description--
<dfn>CSS 变量</dfn>是一种仅更改一个值,来一次性更改多个 CSS 样式属性的强大方法。
<dfn>CSS 变量</dfn>可以实现仅需要更新一个值,就可以将更改应用到多个 CSS 样式属性的强大方法。
按照下面指示的来做,我们只需要改变三个值,多个样式将会同时被修改。
# --instructions--
`penguin`class 里,将`black`改为`gray``gray`改为`white``yellow`改为`orange`
`penguin` class 里,将 `black` 改为 `gray``gray` 改为 `white``yellow` 改为 `orange`
# --hints--
`penguin` class 声明`--penguin-skin`变量值应为`gray`
`penguin` class 声明中的 `--penguin-skin` 变量值应为 `gray`
```js
assert(
@ -26,7 +26,7 @@ assert(
);
```
`penguin` class 声明`--penguin-belly`变量值应为`white`
`penguin` class 声明中的 `--penguin-belly` 变量值应为 `white`
```js
assert(
@ -34,7 +34,7 @@ assert(
);
```
`penguin` class 声明`--penguin-beak`变量值应为`orange`
`penguin` class 声明中的 `--penguin-beak` 变量值应为 `orange`
```js
assert(

View File

@ -8,11 +8,11 @@ forumTopicId: 18350
# --description--
你知道在 CSS 里面还有其他方式来代表颜色吗?其中一个方法叫十六进制编码,简称`hex`
你知道在 CSS 里面还有其他方式来代表颜色吗?其中一个方法叫十六进制编码,简称 `hex`
我们日常使用最多的计数方法基于十进制,使用 0 到 9 数字来表示。而`十六进制编码``hex`)基于 16 位数字,它含有 16 种不同字符。十六进制与十进制一样0-9 表示 0 到 9 的值,不同的是,ABCDEF 表示着十六进制 10 到 15 的值。总的来说0 到 F 在`十六进制`里代表数字,提供了 16 种可能性。你可以在[这里](https://zh.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6)找到更多的相关信息。
日常生活中,我们使用的计数方法一般基于十进制,使用数字 0 到 9 来表示。而`十六进制编码``hex`)基于 16 位数字,它包括 16 种不同字符。十六进制与十进制一样0-9 表示 0 到 9不同的是十六进制使用 A、B、C、D、E、F 分别表示 10 到 15。总的来说0 到 F 在`十六进制`里代表数字,总共有 16 种可能性。你可以在[这里](https://zh.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6)找到更多的相关信息。
在 CSS 里面,我们可以使用 6 个十六进制的数字来代表颜色每两个数字控制一种颜色分别是红R绿GB。例如`#000000`代表黑色,同时也是最小的值。你可以在[这里](https://zh.wikipedia.org/wiki/%E4%B8%89%E5%8E%9F%E8%89%B2%E5%85%89%E6%A8%A1%E5%BC%8F)找到更多的相关信息。
在 CSS 里面,我们可以使用 6 个十六进制的数字来代表颜色每两个数字控制一种颜色分别是红R绿GB。例如`#000000` 代表黑色,同时也是最小的值。你可以在[这里](https://zh.wikipedia.org/wiki/%E4%B8%89%E5%8E%9F%E8%89%B2%E5%85%89%E6%A8%A1%E5%BC%8F)找到更多的相关信息。
```css
body {
@ -22,17 +22,17 @@ body {
# --instructions--
使用`#000000`十六进制编码来替换`body`元素的黑色背景。
使用 `#000000` 十六进制编码来设置 `body` 元素的背景颜色
# --hints--
`body`元素的背景颜色应该是黑色。
`body` 元素的背景颜色应黑色。
```js
assert($('body').css('background-color') === 'rgb(0, 0, 0)');
```
使用`十六进制编码`来替换`black`的写法。
使用 十六进制编码`来替换 `black` 的写法。
```js
assert(

View File

@ -8,67 +8,67 @@ forumTopicId: 18359
# --description--
回顾一下,`hex`使用 6 个十六进制编码来表示颜色,2 个一组,分别代表R绿GB
回顾一下,`hex` 使用 6 个十六进制编码来表示颜色,两个字符为一组分别代表红R绿GB
通过三原色,我们可以创建 1600 万种不同颜色
通过三原色,我们可以创建 1600 万种不同颜色
例如,橘色是纯红色混合一些绿色而成,没有蓝色的参与。在十六进制编码里面,它被转译为`#FFA500`
例如,橘色是纯红色混合一些绿色而成,其中没有蓝色的参与。在十六进制编码里面,它可以写成 `#FFA500`
`0`是十六进制里面最小的数字,表示没有颜色。
`0` 是十六进制里面最小的数字,表示没有颜色。
`F`是十六进制里面最大的数字,表示着最高的亮度。
`F` 是十六进制里面最大的数字,表示着最高的亮度。
# --instructions--
`style`标签里面的颜色值用正确的十六进制编码替换。
`style` 标签里面的颜色值用正确的十六进制编码替换。
<table class='table table-striped'><tbody><tr><th>Color</th><th>Hex Code</th></tr><tr><td>Dodger Blue</td><td><code>#1E90FF</code></td></tr><tr><td>Green</td><td><code>#00FF00</code></td></tr><tr><td>Orange</td><td><code>#FFA500</code></td></tr><tr><td>Red</td><td><code>#FF0000</code></td></tr></tbody></table>
# --hints--
文本内容为`I am red!``h1`元素的字体颜色应该为`red`
文本内容为 `I am red!``h1` 元素的字体颜色应该为红色
```js
assert($('.red-text').css('color') === 'rgb(255, 0, 0)');
```
使用`十六进制编码`替换`red`关键词。
使用`十六进制编码`替换 `red` 关键词。
```js
assert(code.match(/\.red-text\s*?{\s*?color:\s*?#FF0000\s*?;\s*?}/gi));
```
文本内容为`I am green!``h1`元素的字体颜色应该为`green`
文本内容为 `I am green!``h1` 元素的字体颜色应该为绿色
```js
assert($('.green-text').css('color') === 'rgb(0, 255, 0)');
```
使用`十六进制编码`替换`green`关键词。
使用`十六进制编码`替换 `green` 关键词。
```js
assert(code.match(/\.green-text\s*?{\s*?color:\s*?#00FF00\s*?;\s*?}/gi));
```
文本内容为`I am dodger blue!``h1`元素的字体颜色应该为`dodger blue`
文本内容为 `I am dodger blue!``h1` 元素的字体颜色应该为道奇蓝色
```js
assert($('.dodger-blue-text').css('color') === 'rgb(30, 144, 255)');
```
使用`十六进制编码`替换`dodgerblue`关键词。
使用`十六进制编码`替换 `dodgerblue` 关键词。
```js
assert(code.match(/\.dodger-blue-text\s*?{\s*?color:\s*?#1E90FF\s*?;\s*?}/gi));
```
文本内容为`I am orange!``h1`元素的字体颜色应该为`orange`
文本内容为 `I am orange!``h1` 元素的字体颜色应该为橘色
```js
assert($('.orange-text').css('color') === 'rgb(255, 165, 0)');
```
使用`十六进制编码`替换`orange`关键词。
使用`十六进制编码`替换 `orange` 关键词。
```js
assert(code.match(/\.orange-text\s*?{\s*?color:\s*?#FFA500\s*?;\s*?}/gi));

View File

@ -12,19 +12,19 @@ forumTopicId: 18368
# --instructions--
`style`标签里面中的十六进制编码替换为正确的 RGB 值。
`style` 标签里面中的十六进制编码替换为正确的 RGB 值。
<table class='table table-striped'><tbody><tr><th>Color</th><th>RGB</th></tr><tr><td>Blue</td><td><code>rgb(0, 0, 255)</code></td></tr><tr><td>Red</td><td><code>rgb(255, 0, 0)</code></td></tr><tr><td>Orchid</td><td><code>rgb(218, 112, 214)</code></td></tr><tr><td>Sienna</td><td><code>rgb(160, 82, 45)</code></td></tr></tbody></table>
# --hints--
文本内容为`I am red!``h1`元素的字体颜色应该为`red`
文本内容为 `I am red!``h1` 元素的字体颜色应为红色
```js
assert($('.red-text').css('color') === 'rgb(255, 0, 0)');
```
`red`色应使用`RGB`
色应使用 `RGB` 值来表示
```js
assert(
@ -34,13 +34,13 @@ assert(
);
```
文本内容为`I am orchid!``h1`元素的字体颜色应该为`orchid`
文本内容为 `I am orchid!``h1` 元素的字体颜色应为兰紫色
```js
assert($('.orchid-text').css('color') === 'rgb(218, 112, 214)');
```
`orchid`色应使用`RGB`
兰紫色应使用 `RGB` 值来表示
```js
assert(
@ -50,13 +50,13 @@ assert(
);
```
文本内容为`I am blue!``h1`元素的字体颜色应该为`blue`
文本内容为 `I am blue!``h1` 元素的字体颜色应为蓝色
```js
assert($('.blue-text').css('color') === 'rgb(0, 0, 255)');
```
`blue`色应使用`RGB`
色应使用 `RGB` 值来表示
```js
assert(
@ -66,13 +66,13 @@ assert(
);
```
文本内容为`I am sienna!``h1`元素的字体颜色应该为`sienna`
文本内容为 `I am sienna!``h1` 元素的字体颜色应为黄土赭色
```js
assert($('.sienna-text').css('color') === 'rgb(160, 82, 45)');
```
`sienna`色应使用`RGB`
黄土赭色应使用 `RGB` 值来表示
```js
assert(

View File

@ -8,7 +8,7 @@ forumTopicId: 18369
# --description--
另一种可以在 CSS 中表示颜色的方法是使用 RGB 值
`RGB` 值是在 CSS 中表示颜色的另一种方法。
黑色的 RGB 值声明如下:
@ -18,9 +18,9 @@ forumTopicId: 18369
`rgb(255, 255, 255)`
RGB 不像十六进制编码,并不需要用到 6 位十六进制数字。在 RGB 里,你只需要指定每种颜色的亮度大小,从 0 到 255。
RGB 值与我们之前学到的十六进制编码不同。RGB 值不需要用到 6 位十六进制数字,而只需要指定每种颜色的亮度大小,数值范围从 0 到 255。
在数学的角度来看,如果将十六进制的一种颜色的两位数字相乘,16 乘以 16 也等于 256。所以从 0 到 255 计算的 RGB 值的具有十六进制编码相同的颜色可能
如果我们稍微计算一下,就不难发现这两种表示方式本质上是等价的。在十六进制编码中,我们用两个十六进制数表示一个颜色;这样,每种颜色都有 16 * 16(即 256种可能。而在 RGB 表示方式中,每个颜色的数值范围是 0 到 255因此也有 256 种可能。
下面是通过使用 RGB 值设置背景颜色为橘色的例子:
@ -32,17 +32,17 @@ body {
# --instructions--
让我们用`rgb(0, 0, 0)`的 RGB 值替换`body`元素背景颜色的十六进制编码。
请用 RGB 值 `rgb(0, 0, 0)` 替换 `body` 元素背景颜色的十六进制编码。
# --hints--
`body`元素的背景颜色应该是黑色的。
`body` 元素的背景颜色应该是黑色的。
```js
assert($('body').css('background-color') === 'rgb(0, 0, 0)');
```
`body`元素的背景颜色的黑色值应该为`RGB`值。
`body` 元素的背景颜色的属性值应使用 `RGB` 值。
```js
assert(code.match(/rgb\s*\(\s*0\s*,\s*0\s*,\s*0\s*\)/gi));