88 lines
3.9 KiB
Markdown
88 lines
3.9 KiB
Markdown
---
|
||
id: bad87fee1348bd9aedf08805
|
||
title: Use CSS Selectors to Style Elements
|
||
challengeType: 0
|
||
videoUrl: ''
|
||
localeTitle: 使用CSS选择器设置样式元素
|
||
---
|
||
|
||
## Description
|
||
<section id="description">使用CSS,您可以使用数百种CSS <code>properties</code>来更改元素在页面上的显示方式。当您输入<code><h2 style="color: red">CatPhotoApp</h2></code> ,您使用<code>inline CSS</code> (代表<code>Cascading Style Sheets</code>对单个<code>h2</code>元素进行<code>Cascading Style Sheets</code> 。这是指定元素样式的一种方法,但有一种更好的方法来应用<code>CSS</code> 。在代码的顶部,创建一个<code>style</code>块,如下所示: <blockquote> <风格> <br> </样式> </blockquote>在该样式块中,您可以为所有<code>h2</code>元素创建<code>CSS selector</code> 。例如,如果您希望所有<code>h2</code>元素都是红色,则可以添加如下所示的样式规则: <blockquote> <风格> <br> h2 {color:red;} <br> </样式> </blockquote>请注意,在每个元素的样式规则周围同时打开和关闭花括号( <code>{</code>和<code>}</code> )非常重要。您还需要确保元素的样式定义位于开始和结束样式标记之间。最后,请务必在每个元素的样式规则的末尾添加分号。 </section>
|
||
|
||
## Instructions
|
||
<section id="instructions">删除<code>h2</code>元素的样式属性,而不是创建CSS <code>style</code>块。添加必要的CSS以将所有<code>h2</code>元素变为蓝色。 </section>
|
||
|
||
## Tests
|
||
<section id='tests'>
|
||
|
||
```yml
|
||
tests:
|
||
- text: 从<code>h2</code>元素中删除style属性。
|
||
testString: 'assert(!$("h2").attr("style"), "Remove the style attribute from your <code>h2</code> element.");'
|
||
- text: 创建<code>style</code>元素。
|
||
testString: 'assert($("style") && $("style").length > 1, "Create a <code>style</code> element.");'
|
||
- text: 你的<code>h2</code>元素应该是蓝色的。
|
||
testString: 'assert($("h2").css("color") === "rgb(0, 0, 255)", "Your <code>h2</code> element should be blue.");'
|
||
- text: 确保样式表<code>h2</code>声明对分号和右括号有效。
|
||
testString: 'assert(code.match(/h2\s*\{\s*color\s*:.*;\s*\}/g), "Ensure that your stylesheet <code>h2</code> declaration is valid with a semicolon and closing brace.");'
|
||
- text: 确保所有<code>style</code>元素都有效并具有结束标记。
|
||
testString: 'assert(code.match(/<\/style>/g) && code.match(/<\/style>/g).length === (code.match(/<style((\s)*((type|media|scoped|title|disabled)="[^"]*")?(\s)*)*>/g) || []).length, "Make sure all your <code>style</code> elements are valid and have a closing tag.");'
|
||
|
||
```
|
||
|
||
</section>
|
||
|
||
## Challenge Seed
|
||
<section id='challengeSeed'>
|
||
|
||
<div id='html-seed'>
|
||
|
||
```html
|
||
<h2 style="color: red">CatPhotoApp</h2>
|
||
<main>
|
||
<p>Click here to view more <a href="#">cat photos</a>.</p>
|
||
|
||
<a href="#"><img src="https://bit.ly/fcc-relaxing-cat" alt="A cute orange cat lying on its back."></a>
|
||
|
||
<div>
|
||
<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="/submit-cat-photo">
|
||
<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>
|
||
|
||
```
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</section>
|
||
|
||
## Solution
|
||
<section id='solution'>
|
||
|
||
```js
|
||
// solution required
|
||
```
|
||
</section>
|