前端学习:基础HTML和HTML5

基础HTML和HTML5

学习整理于:https://chinese.freecodecamp.org/learn

一、基本介绍

  HTML 是一种标记语言,使用特殊的语法或标记来向浏览器描述网页的结构。HTML 元素由开始和结束标签构成,标签之间是文本内容。 不同的标签可以让文本内容以标题、段落、列表等形式展现。

二、基本内容

1、大部分 HTML 元素都有一个开始标签和一个结束标签

开始标签像这样:
<h1>
结束标签像这样:
</h1>
  开始标签和结束标签的唯一区别就是结束标签多了一个斜杠。
例如:
<h1>Hello World</h1>

2、用h2元素代表副标题

  这些元素用来告诉浏览器网站的结构是什么样子。 h1 元素通常被用作主标题,h2 元素通常被用作副标题, 还有 h3h4h5h6 元素,它们分别用作不同级别的标题。
 例如:

<h1>Hello,Sky</h1>
<h2>Hi,Son</h2>

页面展示:
前端学习:基础HTML和HTML5

3、用 p 元素代表段落

p 元素是网站上段落文本使用的元素。
p 是“paragraph(段落)”的缩写。

<h1>Hello,Sky</h1>
<h2>Hi,Son</h2>
<p>Again I'm falling for you, so you wrap
 your arms around mine.</p>

页面展示:
前端学习:基础HTML和HTML5

<p>...</p> 可以自动换行
 也可以在一行的代码后输入<br>代码即可实现换行操作

4、用占位符文本填充空白

<h1>Hello World</h1>
<h2>Hello TX</h2>
<p>Again I'm falling for you, 
so you wrap your arms around mine.</p>
<p>Love you</p>

就是使用空格来占位

5、添加 HTML 的注释

在 HTML 中,注释的开始标签是 <!--,结束标签是 -->

三、HTML5相关使用

1、main: 让搜索引擎和开发者能很快地找到网页的主要内容

  例:下面的 main 元素嵌套了两个子元素:

<main> 
  <h2>Hi,Sun</h2>
  <p>Again I'm falling for you,
   so you wrap your arms around mine.</p>
</main>

2、img: 为你的网站添加图片,其中 src 属性指向图片的地址

  例如:

<img src="https://www.photoapp.com/sky-image.jpg"
     weight="100" height="200">

  可以在里面调整图片大小=
页面展示:
前端学习:基础HTML和HTML5
注意:img 元素是没有结束标签的。
  所有的 img 元素 必须alt 属性。 alt 的属性值有两个作用,第一个作用是让屏幕阅读器可以知晓图片的内容,这会对网页的可访问性有很大提升;另一个作用是当图片无法加载时,页面需要显示的替代文本。
  注意: 如果图片是纯装饰性的,把 alt 的属性值设置为空是最佳实践。
  理想情况下,alt 属性不应该包含特殊字符,除非有特殊需要。
 例如:

<img src="https://www.photoapp.com/sky-image.jpg"
 alt="Sky lost his girl">

alt为空表示为alt=""

3、用 a 实现网页间的跳转

a(Anchor,简写为 a)来实现网页间的跳转。
a 需要一个 href 属性指向跳转的目的地。 同时,它还应有内容。
 例:

<a href="https://www.bilibili.com/video/BV1G44y1771R?
spm_id_from=444.41.0.0">this links to piano</a>

  浏览器将显示文本 this links to piano,这是一个可点击的链接。 你可以通过这个链接访问 https://www.bilibili.com/video/BV1G44y1771R?spm_id_from=444.41.0.0
  href:定义链接指向的文档。 这可能是同一目录中的网页,同一服务器上其他位置的网页,当前页面中的位置,或者是另一台服务器上存储的网页(或任何其他类型的文档)。

4、用 a 实现网页内部跳转

  aanchor)元素也可以用于创建内部链接,跳转到网页内的各个不同部分。
  要创建内部链接,你需要将链接的 href 属性值设置为一个哈希符号 # 加上你想内部链接到的元素的 id,通常是在网页下方的元素。 然后你需要将相同的 id 属性添加到你链接到的元素中。 id 是描述网页元素的一个属性,它的值在整个页面中唯一。
  当用户点击了 Contacts 链接,页面就会跳转到网页的 Contacts 区域。

<a href="#contacts-header">Contacts</a>
...
<h2 id="contacts-header">Contacts</h2>

​ 当用户点击 Contacts 链接,可以访问网页中带有 Contacts 标题元素的部分。

例:

<main>

  <a href="#end">Jump to Bottom</a>

  <img src="wangyouyou.jpg" weight="100" height="200" 
  alt="Sky lost his girl" />
...
</main>
<h3 id="end">Thanks for your support</h3>

页面展示:前端学习:基础HTML和HTML5

5、将 a 嵌套在段落中

<p>
  Here's a <a target="_blank" 
  href="https://www.bilibili.com/video/ BV1Vq4y1g7g7?
  from=search&seid=9379104739366448175&
  spm_id_from=333.337.0.0"> link to love</a> for you to follow.
</p>
拆解为:
<p> Here's a ... for you to follow. </p>
接下来是锚点元素 <a>(它需要结束标签 </a>):
<a> ... </a>

  target 是锚点元素的一个属性,它用来指定链接的打开方式。 属性值 _blank 表示链接会在新标签页打开。 href 是锚点元素的另一个属性,它用来指定链接的 URL:

<a href="https://www.bilibili.com/video/
BV1Vq4y1g7g7?from=search&seid=9379104739366448
175&spm_id_from=333.337.0.0" target="_blank"> ... </a>

   a 元素内的文本 link to love 叫作锚文本,会显示为一个可以点击的链接:

<a href=" ... " target="..."> link to love</a>

  最终输出结果是这样:
Here’s a link to love for you to follow.
页面展示:
前端学习:基础HTML和HTML5

6、用 # 号来创建链接占位符

  有时你想为网站添加一个 a 元素,但还不确定要将它链接到哪里。
  href 属性的当前值是指向 “https://www.freecatphotoapp.com”。 请将 href 属性的值替换为#,以此来创建链接占位符。
  例如: href="#"

7、给图片添加 链接

  把图片嵌套进 a 元素, 可以这样写:

<a href="#">
<img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg" 
alt="Three kittens running towards the camera."></a>

  如果把 ahref 属性值设置为 #,创建的是一个死链接(不跳转到其他画面)。

8、创建一个无序列表

  HTML 有一个特定的元素用于创建无序列表。
  无序列表以 <ul> 开始,中间包含一个或多个 <li> 元素, 最后以 </ul> 结束。
  例如:

<ul>
  <li>True love will surely bring about 
  the growth of the heart</li>
  <li>Without love, there is no temperature,
   and the heart is cold</li>
</ul>

页面展示:
前端学习:基础HTML和HTML5

9、创建一个有序列表

  HTML 中有用于创建有序列表的特定元素。
  有序列表以 <ol> 开始,中间包含一个或多个 <li> 元素。 最后以 </ol> 结束。
  例如:

<ol>
  <li>action</li>
  <li>heart</li>
</ol>

将创建一个包含 actionheart 的编号列表。
页面展示:
前端学习:基础HTML和HTML5

10、 创建一个输入框

  input 输入框可以让你轻松获得用户的输入。你可以像这样创建一个文本输入框:

<input type="text">

​ 注意 input 输入框是没有结束标签的。

11、给输入框添加占位符文本

占位符文本用户在 input 输入框中输入任何东西前的预定义文本。可以像这样创建一个占位符:

<input type="text" placeholder="what do you mean:">

注意: 别忘了 input 元素是 “自闭和标签”,即不需要结束标签。

12、创建一个表单

​ 可以只通过 HTML 来实现发送数据给服务器的表单, 只需要给 form 元素添加 action 属性即可。
例如:

<form action="/url-where-you-want-to-submit-form-data">
  <input>
</form>

13、给表单添加提交按钮

​ 给表单添加一个 submit(提交)按钮。 点击提交按钮时,表单中的数据将会被发送到 action 属性指定的 URL 上。
例如:

<button type="submit">this button submits the form</button>

页面展示:
前端学习:基础HTML和HTML5

14、给表单添加一个必填字段

​ 设计表单时,可以指定某些字段为必填项(required),只有当用户填写了该字段后,才可以提交表单。
​ 如果想把文本输入框设置为必填项,在 input 元素中加上 required 属性就可以了,例如:

15、创建一组单选按钮

​ radio buttons(单选按钮)就好比单项选择题,正确答案只有一个。
​ 单选按钮是 input 选择框的一种类型。
​ 每一个单选按钮都应该嵌套在它自己的 label(标签)元素中。 这样,我们相当于给 input 元素和包裹它的 label 元素建立起了对应关系。
​ 所有关联的单选按钮应该拥有相同的 name 属性。 创建一组单选按钮,选中其中一个按钮,其他按钮即显示为未选中,以确保用户只提供一个答案。
​ 例:

<label> 
  <input type="radio" name="indoor-outdoor">Indoor 
</label>

​ 最佳实践是在 label 元素上设置 for 属性,让其值与相关联的 input 单选按钮的 id 属性值相同。 这使得辅助技术能够在标签和相关的 input 元素之间建立关联关系。 例:

<input id="indoor" type="radio" name="indoor-outdoor">
<label for="indoor">Indoor</label>

也可以在 label 标签中嵌入 input 元素:

<label for="indoor"> 
  <input id="indoor" type="radio" name="indoor-outdoor">Indoor 
</label>

16、创建一组复选框

​ checkboxes(复选框)就好比多项选择题,正确答案有多个。
​ 复选框是 input 选择框的一种类型。
​ 每一个复选框都应该嵌套在它自己的 label(标签)元素中。 这样,我们相当于给 input 元素和包裹它的 label 元素建立起了对应关系。
​ 所有关联的复选框应该拥有相同的 name 属性。
​ 使得 inputlabel 关联的最佳实践是在 label 元素上设置 for 属性,让其值与相关联的 input 复选框的 id 属性值相同。
​ 例:

<label for="loving"><input id="loving" type="checkbox" name="personality"> Loving</label>

页面展示:
前端学习:基础HTML和HTML5

17、 使用单选框和复选框的 value 属性

​ 提交表单时,所选项的值会发送给服务端。 radiocheckboxvalue 属性值决定了发送到服务端的实际内容。
例如:

<label for="indoor">
  <input id="indoor" value="indoor" type="radio" name="indoor-outdoor">Indoor
</label>
<label for="outdoor">
  <input id="outdoor" value="outdoor" type="radio" name="indoor-outdoor">Outdoor
</label>

​ 这里有两个 radio 单选框。 当用户提交表单时,如果 indoor 选项被选中,表单数据会包含:indoor-outdoor=indoor。 也就是所选项的 namevalue 属性值。
​ 如果没有指明 value 属性值,则会使用默认值做为表单数据提交,也就是 on。 在这种情况下,如果用户选中 “indoor” 选项然后提交表单,表单数据则会包含 indoor-outdoor=on。 这样的表单数据看起来不够直观,因此最好将 value 属性值设置为一些有意义的内容。

18、给单选按钮和复选框添加默认选中项

​ 用 checked 属性把第一个复选框和单选按钮都设置为默认选中。
​ 在一个 input 元素里面添加 checked 这个词,即可实现。
​ 例:

<input type="radio" name="test-name" checked>

19、元素嵌套

div 元素也叫内容划分元素,是一个包裹其他元素的通用容器。
​ 它也是 HTML 中出现频率最高的元素。
​ 和其他普通元素一样,你可以用 <div> 来标记一个 div 元素的开始,用 </div> 来标记一个 div 元素的结束。

20、声明 HTML 的文档类型

​ 在文档的顶部,我们需要告诉浏览器网页所使用的 HTML 的版本。 HTML 是一个在不停发展的语言,大部分浏览器都支持 HTML 的最新标准,也就是 HTML5。 大部分主流浏览器都支持最新的 HTML5 规范。 但是一些陈旧的网页可能使用的是老版本的 HTML。
​ 你可以通过 <!DOCTYPE ...> 来告诉浏览器页面上使用的 HTML 版本,"..." 部分就是版本号。 <!DOCTYPE html> 对应的就是 HTML5。
! 和大写的 DOCTYPE 是很重要的,尤其是对那些老的浏览器。 但 html 无论大写小写都可以。
​ 所有的 HTML 代码都必须位于 html 标签中。 其中 <html> 位于 <!DOCTYPE html> 之后,</html> 位于网页的结尾。
​ 这是一个网页结构的列子。 你的 HTML 代码会在两个 html 标签之间。

<!DOCTYPE html>
<html>

</html>

21、定义 HTML 文档的 head 和 body

html 的结构主要分为两大部分:headbody。 网页的描述应放入 head 标签, 网页的内容(向用户展示的)则应放入 body 标签。
​ 比如 linkmetatitlestyle 都应放入 head 标签。
​ 这是网页布局的一个例子:

<!DOCTYPE html>
<html>
  <head>
    <meta />
  </head>
  <body>
    <div>
    </div>
  </body>
</html>

完整代码:

<h1>Hello,Sky</h1>
<main>
  <p><a href="#end">Jump to Bottom</a></p>
  <img src="wangyouyou.jpg" weight="500" height="300" alt="Sky lost his girl" />
  <h2>Hi,Son</h2>
  <p>The meaning of love</p>
  <ul>
    <li>True love will surely bring about the growth of the heart</li>
    <li>Without love, there is no temperature, and the heart is cold</li>
  </ul>
  <p>Need:</p>
  <ol>
    <li>action</li>
    <li>heart</li>
  </ol>
  <p>Top 3 things people hate:</p>
  <ol>
    <li>trick</li>
    <li>betray</li>
    <li>Irrepressible desire</li>
  </ol>
  <form action="/url-where-you-want-to-submit-form-data">
    <label for="indoor">
      <input id="indoor" type="radio" name="indoor-outdoor" /> Indoor</label
    >
    <label for="outdoor">
      <input id="outdoor" type="radio" name="indoor-outdoor" /> Outdoor</label
    >
    <br />
    <label for="loving">
      <input id="loving" type="checkbox" name="personality" /> Loving</label
    >
    <label for="lazy">
      <input id="lazy" type="checkbox" name="personality" /> Lazy</label
    >
    <label for="energetic">
      <input id="energetic" type="checkbox" name="personality" />
      Energetic</label
    >
    <br />
    <input type="text" placeholder="what do you mean:" />
    <button type="submit">this button submits the form</button>
  </form>
  <p>
    Here's a
    <a
      target="_blank"
      href="https://www.bilibili.com/video/BV1Vq4y1g7g7?from=search&seid=9379104739366448175&spm_id_from=333.337.0.0"
    >
      link to love</a
    >
    for you to follow.
  </p>
  <p>Again I'm falling for you, so you wrap your arms around mine.</p>
  <a href="https://www.bilibili.com/video/BV1G44y1771R?spm_id_from=444.41.0.0"
    >this links to piano</a
  >
  <!--<p>Love you</p>-->
</main>
<h3 id="end">Thanks for your support</h3>
<!-- 这是注释 -->

完整页面:

前端学习:基础HTML和HTML5
前端学习:基础HTML和HTML5

上一篇:HTML5基础


下一篇:爬虫介绍