2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
id: bad87fee1348bd9aedf08812
|
|
|
|
challengeType: 0
|
2019-12-26 20:05:59 +08:00
|
|
|
videoUrl: 'https://scrimba.com/p/pVMPUv/c8EbJf2'
|
|
|
|
forumTopicId: 16640
|
2020-10-01 17:54:21 +02:00
|
|
|
title: 给网站添加图片
|
2018-10-10 18:03:03 -04:00
|
|
|
---
|
|
|
|
|
|
|
|
## Description
|
2019-12-26 20:05:59 +08:00
|
|
|
<section id='description'>
|
|
|
|
用<code>img</code>元素来为你的网站添加图片,其中<code>src</code>属性指向一个图片的地址。
|
|
|
|
例如:
|
|
|
|
<code><img src="https://www.your-image-source.com/your-image.jpg"></code>
|
|
|
|
注意:<code>img</code>元素是没有结束标记的。
|
|
|
|
所有的<code>img</code>元素必须有<code>alt</code>属性,<code>alt</code>属性的文本是当图片无法加载时显示的替代文本,这对于通过屏幕阅读器来浏览网页的用户非常重要。
|
|
|
|
注意:如果图片是纯装饰性的,用一个空的<code>alt</code>是最佳实践。
|
|
|
|
理想情况下,<code>alt</code>属性不应该包含特殊字符,除非必要。
|
|
|
|
让我们给上面例子的<code>img</code>添加<code>alt</code>属性。
|
|
|
|
<code><img src="https://www.your-image-source.com/your-image.jpg" alt="作者站在沙滩上竖起两个大拇指"></code>
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
## Instructions
|
2019-12-26 20:05:59 +08:00
|
|
|
<section id='instructions'>
|
|
|
|
让我们给网站添加图片:
|
2020-03-03 22:41:15 +09:00
|
|
|
在<code>main</code>元素里面,给<code>p</code>前面插入一个<code>img</code>元素
|
2019-12-26 20:05:59 +08:00
|
|
|
现在设置<code>src</code>属性指向这个地址:
|
|
|
|
<code>https://bit.ly/fcc-relaxing-cat</code>
|
|
|
|
最后不要忘记给图片添加一个<code>alt</code>文本。
|
|
|
|
</section>
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
## Tests
|
|
|
|
<section id='tests'>
|
|
|
|
|
|
|
|
```yml
|
|
|
|
tests:
|
2020-03-03 22:41:15 +09:00
|
|
|
- text: 网页应该有一张图片。
|
2020-02-18 01:40:55 +09:00
|
|
|
testString: assert($("img").length);
|
2020-03-03 22:41:15 +09:00
|
|
|
- text: <code>img</code> 应该有一个<code>src</code>属性,指向猫咪图片。
|
2019-12-26 20:05:59 +08:00
|
|
|
testString: assert(/^https:\/\/bit\.ly\/fcc-relaxing-cat$/i.test($("img").attr("src")));
|
2020-03-03 22:41:15 +09:00
|
|
|
- text: <code>img</code> 元素的<code>alt</code>属性值不应为空。
|
2020-02-18 01:40:55 +09:00
|
|
|
testString: assert($("img").attr("alt") && $("img").attr("alt").length && /<img\S*alt=(['"])(?!\1|>)\S+\1\S*\/?>/.test(code.replace(/\s/g,'')));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
## Challenge Seed
|
|
|
|
<section id='challengeSeed'>
|
|
|
|
|
|
|
|
<div id='html-seed'>
|
|
|
|
|
|
|
|
```html
|
|
|
|
<h2>CatPhotoApp</h2>
|
|
|
|
<main>
|
2019-12-26 20:05:59 +08:00
|
|
|
|
|
|
|
|
|
|
|
<p>在大家心目中,猫是慵懒和可爱的化身,它可以睡饱了再起来吃饭,可以逗趣小耗子,可以卖得了萌,使得了坏,这样百变的小怪兽就集结在一只宠物上,怎能不惹人怜爱。</p>
|
|
|
|
<p>养猫有的时候,就是介于爱与恨之间,当你钦羡别人萌宠这么可爱的时候,你一定没有想过,猫咪会到处掉毛,甚至会囤老鼠,啃鞋子,用爪子爬门,你不理它,它就挠你,你要对它发脾气,它会比你更来劲。所以,没有一定的准备,切勿随便去侍养动物。它们一旦认定你了,你就是它们的主人,如果你抛弃它们,它们必定心中重创。</p>
|
2018-10-10 18:03:03 -04:00
|
|
|
</main>
|
|
|
|
```
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
## Solution
|
|
|
|
<section id='solution'>
|
|
|
|
</section>
|
2019-12-26 20:05:59 +08:00
|
|
|
|