2018-10-10 22:03:03 +00:00
|
|
|
|
---
|
|
|
|
|
id: 587d78af367417b2b2512b04
|
2020-12-16 07:37:30 +00:00
|
|
|
|
title: 制作一个产品登录页
|
2018-10-10 22:03:03 +00:00
|
|
|
|
challengeType: 3
|
2019-12-22 20:24:13 +00:00
|
|
|
|
forumTopicId: 301144
|
2021-01-13 02:31:00 +00:00
|
|
|
|
dashedName: build-a-product-landing-page
|
2018-10-10 22:03:03 +00:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --description--
|
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**目标:** 在 [CodePen.io](https://codepen.io) 上创建一个与这个功能类似的 app:<https://codepen.io/freeCodeCamp/full/RKRbwL>。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-06 04:42:36 +00:00
|
|
|
|
在满足以下[需求](https://en.wikipedia.org/wiki/User_story)并能通过所有测试的前提下, 你可以根据自己的喜好来美化你的 app。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-06 04:42:36 +00:00
|
|
|
|
你可以使用 HTML、JavaScript 以及 CSS 来完成项目。 由于目前你只学到了 CSS 课程,所以我们建议你只使用 CSS 来完成这个项目,同时巩固一下你之前所学的内容。 你也可以使用 Bootstrap 或者 SASS。 我们不推荐你在这个项目中使用其他技术(比如 jQuery、React、Angular 或 Vue)。 在后续的其他项目中,你将有机会使用像是 React 等其他技术栈。 我们会接受并尝试修复你在使用推荐技术栈创建项目时报告的问题。 祝你编码愉快!
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 1:** 产品登陆页应存在 `id="header"` 的 `header` 元素。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 2:** 在 `header` 元素内应存在 `id="header-img"` 的图像, 这里通常用来放置公司的 logo。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 3:** 在 `#header` 元素内,应存在一个 `id="nav-bar"` 的 `nav` 元素。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 4:** `nav` 元素中应至少包含三个 class 为 `nav-link` 且可点击的元素。
|
2019-12-22 20:24:13 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 5:** 当点击 `nav` 内的 `.nav-link` 按钮时,应滚动到产品主页上相应的部分。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 6:** 页面上应存在 `id="video"` 的嵌入式视频播放区域。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 7:** 产品登陆页应存在一个 `id="form"` 的 `form` 元素。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 8:** 在表单中,应存在一个 `id="email"` 的 `input` 输入框供用户填写邮箱。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 9:** `#email` 输入框内应存在描述该区域用途的占位符文字。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 10:** `#email` 输入框应使用 HTML5 验证来确认输入的内容是否为邮箱。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 11:** 在表单中,应存在一个 `id="submit"` 的 `input` 提交按钮。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 12:** 当点击 `#submit` 元素时,应将邮箱信息提交到一个静态页面(请使用这个模拟的 URL:<https://www.freecodecamp.com/email-submit>)。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 13:** navbar 应保持在视口(viewport)的顶部。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 14:** 在此 app 中,应至少使用一次媒体查询。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-02-21 15:49:16 +00:00
|
|
|
|
**需求 15:** 在此 app 中,应至少使用一次 CSS 的 flexbox 布局。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-03-15 03:20:39 +00:00
|
|
|
|
你可以<a href='https://codepen.io/pen?template=MJjpwO' target='_blank' rel='nofollow'>使用这个 CodePen 模版</a>创建你自己的项目,点击 `Save` 即可创建你的新项目。 也可以使用此 CDN 链接在任何你喜欢的环境中运行测试:`https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js`。
|
2020-12-16 07:37:30 +00:00
|
|
|
|
|
2021-01-08 19:20:48 +00:00
|
|
|
|
完成项目并通过所有测试后,请输入你的项目在 CodePen 上的链接并提交。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --solutions--
|
2019-12-22 20:24:13 +00:00
|
|
|
|
|
2021-01-13 02:31:00 +00:00
|
|
|
|
```html
|
|
|
|
|
// solution required
|
|
|
|
|
```
|