diff --git a/files/zh-cn/web/progressive_web_apps/tutorials/cycletracker/html_and_css/index.md b/files/zh-cn/web/progressive_web_apps/tutorials/cycletracker/html_and_css/index.md
new file mode 100644
index 00000000000000..57b9fcbb8d65bc
--- /dev/null
+++ b/files/zh-cn/web/progressive_web_apps/tutorials/cycletracker/html_and_css/index.md
@@ -0,0 +1,343 @@
+---
+title: 经期跟踪器:基础 HTML 和 CSS
+slug: Web/Progressive_web_apps/Tutorials/CycleTracker/HTML_and_CSS
+---
+
+{{PreviousMenuNext("Web/Progressive_web_apps/Tutorials/CycleTracker", "Web/Progressive_web_apps/Tutorials/CycleTracker/Secure_connection", "Web/Progressive_web_apps/Tutorials/CycleTracker")}}
+
+{{PWASidebar}}
+
+要构建渐进式 Web 应用程序(PWA),我们需要创建一个功能完备的 Web 应用程序。在本节中,我们将为静态网页标记 HTML,并使用 CSS 来增强其外观。
+
+我们的项目是创建经期跟踪器(CycleTracker),一个月经周期跟踪器。在这个入门级的 [PWA 教程](/zh-CN/docs/Web/Progressive_web_apps/Tutorials)的第一步,我们将编写 HTML 和 CSS。页面的上部分是一个表单,供用户输入每个月经周期的开始和结束日期。下部分是以前月经周期的列表。
+
+我们创建一个 HTML 文件,其头部包含元数据,静态网页包含一个表单和一个用于显示用户输入数据的占位符。然后我们将添加一个外部 CSS 样式表来提升网站的外观。
+
+要完成本教程,最好对 [HTML](/zh-CN/docs/Learn/Getting_started_with_the_web/HTML_basics)、[CSS](/zh-CN/docs/Learn/Getting_started_with_the_web/CSS_basics) 和 [JavaScript](/zh-CN/docs/Learn/Getting_started_with_the_web/JavaScript_basics) 有基本的了解。如果你对这些不熟悉,MDN 提供了入门指南[入门指南](/zh-CN/docs/Learn/Getting_started_with_the_web)——一套介绍 Web 开发的系列教程。
+
+在接下来的章节中,我们将设置一个[本地开发环境](/zh-CN/docs/Web/Progressive_web_apps/Tutorials/CycleTracker/Secure_connection),然后在添加 [JavaScript 功能](/zh-CN/docs/Web/Progressive_web_apps/Tutorials/CycleTracker/JavaScript_functionality)来将本节中创建的静态内容转换为功能性的 Web 应用程序之前,我们会看看我们的进展。一旦我们有了一个功能性的应用,我们就会有可以渐进增强为可安装的、离线工作的 PWA 的东西。
+
+## 静态网页内容
+
+我们的静态站点 HTML,用 {{HTMLElement("link")}} 和 {{HTMLElement("script")}} 元素作为尚未创建的外部 CSS 和 JavaScript 文件的占位符,如下:
+
+```html
+
+
+
+
+
+ Cycle Tracker
+
+
+
+ Period tracker
+
+
+
+
+
+```
+
+复制此 HTML 并保存在名为 `index.html` 的文件中。
+
+## HTML 内容
+
+即使 `index.html` 中的 HTML 对你来说已经很熟悉,在添加一些[临时的硬编码数据](#临时硬编码结果文本)、将 CSS 添加到 [`styles.css`](#css_内容) 外部样式表和创建 `app.js`([应用程序的 JavaScript](/zh-CN/docs/Web/Progressive_web_apps/Tutorials/CycleTracker/JavaScript_functionality),使这个网页起作用)之前,我们还是建议你通读一遍这一节。
+
+HTML 的第一行是一个 {{glossary("doctype")}} 弁言(preamble),可以确保内容的正确行为。
+
+```html
+
+```
+
+根 {{HTMLelement("html")}} 标签将所有内容包裹在具有 [`lang`](/zh-CN/docs/Web/HTML/Global_attributes/lang) 属性的标签中,该属性定义了页面的主要语言。
+
+```html
+
+
+
+
+```
+
+### 文档头部
+
+{{HTMLelement("head")}} 包含了关于网页应用程序的不能被读者看到的机器可读信息,除了 `` 之外,它显示在浏览器标签的标题中。
+
+`` 包含了所有的[元数据](/zh-CN/docs/Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML)。你的 `` 中的前两项信息应该总是字符集定义,它定义了[字符编码](/zh-CN/docs/Glossary/Character_encoding),和 [viewport](/zh-CN/docs/Web/HTML/Viewport_meta_tag) {{HTMLelement("meta")}} 标签,它可以确保页面以视口的宽度渲染,而不会在非常小的屏幕上被缩小。
+
+```html
+
+
+
+
+```
+
+我们使用 {{HTMLelement("title")}} 元素将页面标题设置为“Cycle Tracker”。尽管 `` 的内容不会在页面中显示,但是 `` 的内容会显示!当页面加载时,`` 元素的内部文本会出现在浏览器标签页中,还会出现在搜索引擎结果中,并且当用户收藏网页进书签时,它是默认的标题。对于依赖标题来了解他们当前所在标签页的屏幕阅读器用户来说,标题也提供了一个无障碍的名称。
+
+虽然标题可以是“月经周期追踪应用程序”,但我们选择了一个更谨慎的缩写名称。
+
+```html
+Cycle Tracker
+```
+
+尽管这两个 `` 标签和 `` 在技术上是可选的,但为了更好的用户体验,它们应该被视为 HTML 文档所必需的 `` 的三个组成部分。
+
+现在,我们在 `` 中包含的最后一个组件是一个 {{HTMLelement("link")}} 元素,它将 `styles.css`(我们尚未编写的样式表)链接到我们的 HTML。
+
+```html
+
+```
+
+HTML `` 元素用于指定当前文档与外部资源之间的关系。[`rel`](/zh-CN/docs/Web/HTML/Attributes/rel) 属性有超过 25 个定义的值——还有许多规范中没有定义的值。最常见的值 `rel="stylesheet"` 导入外部资源作为样式表。
+
+在后面的小节中,当我们包括 [manifest 文件的链接](/zh-CN/docs/Web/Progressive_web_apps/Tutorials/CycleTracker/Manifest_file#adding_the_manifest_to_the_app) 时,我们将重新回顾 `` 元素及其 `rel` 属性。
+
+### 文档主体
+
+{{HTMLelement("body")}} 元素包含了我们想要在用户访问该网站时显示的所有内容。
+
+在 `` 中,我们包含了以应用程序的名称为一级标题的 [``](/zh-CN/docs/Web/HTML/Element/Heading_Elements)以及一个 {{HTMLelement("form")}}。
+
+```html
+
+ Period tracker
+
+
+```
+
+表单将包含说明、表单控件、每个表单控件的标签和一个提交按钮。就表单控件而言,我们需要用户为每次提交的月经周期输入起始日期和结束日期。
+
+在 `
+```
+
+日期选择器是类型为 {{HTMLElement("input/date", "date")}} 的 {{HTMLElement("input")}} 元素。我们包含 [`required`](/zh-CN/docs/Web/HTML/Attributes/required) 属性,通过防止用户意外提交不完整的表单,来减少用户错误。
+
+为了将 `