2018-10-10 18:03:03 -04:00
---
id: bad87dee1348bd9aede07836
2020-12-16 00:37:30 -07:00
title: 使用 id 属性来设定元素的样式
2018-10-10 18:03:03 -04:00
challengeType: 0
2019-12-13 13:47:57 +08:00
videoUrl: 'https://scrimba.com/c/cakyZfL'
forumTopicId: 18339
2021-01-13 03:31:00 +01:00
dashedName: use-an-id-attribute-to-style-an-element
2018-10-10 18:03:03 -04:00
---
2020-12-16 00:37:30 -07:00
# --description--
2021-02-06 04:42:36 +00:00
通过 `id` 属性,你可以做一些很酷的事情。就像 class 一样,你可以使用 CSS 来设置他们的样式。
2020-12-16 00:37:30 -07:00
2021-02-06 04:42:36 +00:00
不过,`id` 不可以重复,它只能作用于一个元素上。 如果一个元素同时应用了 class 和 `id` ,且两者设置的样式有冲突,会优先应用 `id` 中所设置的样式。
2020-12-16 00:37:30 -07:00
2021-02-06 04:42:36 +00:00
选择 `id` 为 `cat-photo-element` 的元素,并设置它的背景颜色为绿色。 可以在 `style` 标签里这样写:
2019-12-13 13:47:57 +08:00
```css
#cat-photo-element {
background-color: green;
}
```
2021-02-06 04:42:36 +00:00
注意在 `style` 标签里,声明 class 的时候必须在名字前插入 `.` 符号。 同样,在声明 id 的时候,也必须在名字前插入 `#` 符号。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --instructions--
2018-10-10 18:03:03 -04:00
2021-02-06 04:42:36 +00:00
请将 `id` 为 `cat-photo-form` 的表单的背景颜色设置为绿色。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
# --hints--
2018-10-10 18:03:03 -04:00
2021-01-08 11:20:48 -08:00
`form` 元素的 id 应为 `cat-photo-form` 。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert($('form').attr('id') === 'cat-photo-form');
2018-10-10 18:03:03 -04:00
```
2021-02-06 04:42:36 +00:00
`form` 元素应含有 `background-color` 属性,颜色为绿色。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert($('#cat -photo-form').css('background-color') === 'rgb(0, 128, 0)');
```
2018-10-10 18:03:03 -04:00
2021-01-08 11:20:48 -08:00
确保 `form` 元素的 `id` 设置正确。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert(
code.match(/< form. * cat-photo-form . * > /gi) & &
code.match(/< form. * cat-photo-form . * > /gi).length > 0
);
```
2018-10-10 18:03:03 -04:00
2021-01-08 11:20:48 -08:00
不要在 `form` 元素上添加其他 `class` 属性或者 `style` 行内样式。
2018-10-10 18:03:03 -04:00
2020-12-16 00:37:30 -07:00
```js
assert(!code.match(/< form. * style . * > /gi) & & !code.match(/< form. * class . * > /gi));
2018-10-10 18:03:03 -04:00
```
2019-12-13 13:47:57 +08:00
2021-01-13 03:31:00 +01:00
# --seed--
## --seed-contents--
```html
< link href = "https://fonts.googleapis.com/css?family=Lobster" rel = "stylesheet" type = "text/css" >
< style >
.red-text {
color: red;
}
h2 {
font-family: Lobster, monospace;
}
p {
font-size: 16px;
font-family: monospace;
}
.thick-green-border {
border-color: green;
border-width: 10px;
border-style: solid;
border-radius: 50%;
}
.smaller-image {
width: 100px;
}
.silver-background {
background-color: silver;
}
< / style >
< h2 class = "red-text" > CatPhotoApp< / h2 >
< main >
< p class = "red-text" > Click here to view more < a href = "#" > cat photos< / a > .< / p >
2021-09-22 08:34:59 -07:00
< a href = "#" > < img class = "smaller-image thick-green-border" src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt = "A cute orange cat lying on its back." > < / a >
2021-01-13 03:31:00 +01:00
< div class = "silver-background" >
< p > Things cats love:< / p >
< ul >
< li > cat nip< / li >
< li > laser pointers< / li >
< li > lasagna< / li >
< / ul >
< p > Top 3 things cats hate:< / p >
< ol >
< li > flea treatment< / li >
< li > thunder< / li >
< li > other cats< / li >
< / ol >
< / div >
< form action = "https://freecatphotoapp.com/submit-cat-photo" id = "cat-photo-form" >
< label > < input type = "radio" name = "indoor-outdoor" checked > Indoor< / label >
< label > < input type = "radio" name = "indoor-outdoor" > Outdoor< / label > < br >
< label > < input type = "checkbox" name = "personality" checked > Loving< / label >
< label > < input type = "checkbox" name = "personality" > Lazy< / label >
< label > < input type = "checkbox" name = "personality" > Energetic< / label > < br >
< input type = "text" placeholder = "cat photo URL" required >
< button type = "submit" > Submit< / button >
< / form >
< / main >
```
2020-12-16 00:37:30 -07:00
# --solutions--
2021-01-13 03:31:00 +01:00
```html
< link href = "https://fonts.googleapis.com/css?family=Lobster" rel = "stylesheet" type = "text/css" >
< style >
.red-text {
color: red;
}
h2 {
font-family: Lobster, monospace;
}
p {
font-size: 16px;
font-family: monospace;
}
.thick-green-border {
border-color: green;
border-width: 10px;
border-style: solid;
border-radius: 50%;
}
.smaller-image {
width: 100px;
}
.silver-background {
background-color: silver;
}
#cat -photo-form {
background-color: green;
}
< / style >
< h2 class = "red-text" > CatPhotoApp< / h2 >
< main >
< p class = "red-text" > Click here to view more < a href = "#" > cat photos< / a > .< / p >
2021-02-06 04:42:36 +00:00
2021-09-22 08:34:59 -07:00
< a href = "#" > < img class = "smaller-image thick-green-border" src = "https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" alt = "A cute orange cat lying on its back." > < / a >
2021-02-06 04:42:36 +00:00
2021-01-13 03:31:00 +01:00
< div class = "silver-background" >
< p > Things cats love:< / p >
< ul >
< li > cat nip< / li >
< li > laser pointers< / li >
< li > lasagna< / li >
< / ul >
< p > Top 3 things cats hate:< / p >
< ol >
< li > flea treatment< / li >
< li > thunder< / li >
< li > other cats< / li >
< / ol >
< / div >
2021-02-06 04:42:36 +00:00
2021-01-13 03:31:00 +01:00
< form action = "https://freecatphotoapp.com/submit-cat-photo" id = "cat-photo-form" >
< label > < input type = "radio" name = "indoor-outdoor" checked > Indoor< / label >
< label > < input type = "radio" name = "indoor-outdoor" > Outdoor< / label > < br >
< label > < input type = "checkbox" name = "personality" checked > Loving< / label >
< label > < input type = "checkbox" name = "personality" > Lazy< / label >
< label > < input type = "checkbox" name = "personality" > Energetic< / label > < br >
< input type = "text" placeholder = "cat photo URL" required >
< button type = "submit" > Submit< / button >
< / form >
< / main >
```