2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 587d78b0367417b2b2512b05
|
2020-12-16 00:37:30 -07:00
|
|
|
|
title: 制作一个技术文档页面
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 3
|
2019-12-23 04:24:13 +08:00
|
|
|
|
forumTopicId: 301146
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
|
|
|
|
|
|
|
|
|
**目标:** 使用 [CodePen.io](https://codepen.io) 搭建一个与这个功能上相似的 app:<https://codepen.io/freeCodeCamp/full/NdrKKL>。
|
|
|
|
|
|
|
|
|
|
在满足以下[需求](https://en.wikipedia.org/wiki/User_story)并能通过所有测试的前提下,你可以根据自己的喜好来美化你的 app。
|
|
|
|
|
|
2019-12-23 04:24:13 +08:00
|
|
|
|
你可以使用 HTML、JavaScript 以及 CSS 来完成项目。由于目前你只学到了 CSS 课程,所以我们建议你只使用 CSS 来完成这个项目,同时巩固一下你之前所学的内容。你也可以使用 Bootstrap 或者 SASS。我们不推荐你在这个项目中使用其他技术(比如 jQurey、React、Angular 或 Vue),否则,如果在编码中出现问题,你需要自行解决。在后续的其他项目中,你将有机会使用各种技术栈(比如 React)。如果你在使用上述推荐的技术栈编码的过程中发现问题,请提交给我们来处理。祝你编码愉快!
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 1:** 我能看见一个对应`id="main-doc"`的`main`元素,它包含页面的主要内容(技术文档)。
|
|
|
|
|
|
|
|
|
|
**需求 2:** 在`#main-doc`元素内,我能看见至少 5 个`section`元素,每个元素都有一个`main-section`类属性。
|
|
|
|
|
|
|
|
|
|
**需求 3:** 每个`.main-section`中的第一个元素应该是`header`元素,其中包含描述该部分主题的文本。
|
|
|
|
|
|
|
|
|
|
**需求 4:** 具有`main-section`类的每个`section`元素应该有一个与包含在其中的每个`header`的文本相对应的 id,用下划线替换文本中的所有空格(例如,包含标题 "Javascript and Java" 的`section`应该有对应`id="Javascript_and_Java"`)。
|
|
|
|
|
|
|
|
|
|
**需求 5:** 所有`.main-section`元素总计包含至少 10 个`p`元素。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 6:** 所有`.main-section`元素总计包含至少 5 个`code`元素。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 7:** 所有`.main-section`元素总计包含至少 5 个`li`项。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 8:** 我能看见一个对应`id="navbar"`的`nav`元素。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 9:** navbar 元素应包含一个`header`元素,其中包含描述技术文档主题的文本。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**需求 10:** 此外,导航栏应包含类名为`nav-link`的链接元素(`a`),每个元素都应该有一个类`main-section`。
|
|
|
|
|
|
|
|
|
|
**需求 11:** 导航栏中的`header`元素必须位于导航栏中的任何链接(`a`)元素之前。
|
|
|
|
|
|
|
|
|
|
**需求 12:** 具有`nav-link`类的每个元素都应该包含每个部分的标题文本对应的文本(例如,如果你有一个“Hello world”部分/标题,你的导航栏应该有一个包含文本“Hello world”的元素)。
|
|
|
|
|
|
|
|
|
|
**需求 13:** 当我点击一个 navbar 元素时,页面应该导航到`main-doc`元素的相应部分(例如,如果我单击包含文本 "Hello world" 的`nav-link`元素,页面将导航到一个带有对应 header 和 id 的section 元素)。
|
|
|
|
|
|
|
|
|
|
**需求 14:** 在常规尺寸的设备上(笔记本电脑,台式机),带有`id="navbar"`的元素应该显示在屏幕左侧,并且始终对用户可见。
|
|
|
|
|
|
|
|
|
|
**需求 15:** 我的技术文档页面应该至少使用一次媒体查询。
|
|
|
|
|
|
|
|
|
|
你可以通过 fork 这个项目 [CodePen](http://codepen.io/freeCodeCamp/pen/MJjpwO) 来构建你的项目,也可以使用此 CDN 链接在任何你喜欢的环境中运行测试:`https://gitcdn.link/repo/freeCodeCamp/testable-projects-fcc/master/build/bundle.js`。
|
|
|
|
|
|
|
|
|
|
完成项目并通过所有测试后,输入你的项目在 CodePen 上的链接。
|
|
|
|
|
|
|
|
|
|
完成之后,将你的 URL 提交到相应的项目,并测试通过。
|
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
|
|
|
|
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
2019-12-23 04:24:13 +08:00
|
|
|
|
|