HTML学习笔记 | 青训营

88 阅读5分钟

HTML学习笔记 | 青训营


这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天


题外话| 前端部分

前端应该关注:

  • 功能: 满足用户需求
  • 美观: 漂亮的UI以及交互过程
  • 无障碍: 对所有人都可用,或者是当正常人处于较差环境下可用
  • 安全: 用户数据安全,不存在可利用漏洞
  • 性能: 响应速度快,用户体验好
  • 兼容性: 能够在各种设备上正常使用

前端触及的领域

  • 服务器端:node.js

image.png

使用node.js能够开发服务器端的应用,也就是说,能够使用node.js搭建后端的应用,不依赖于spring等的技术框架。

  • 客户端: ELECTRON 或者 React Nactive
image.png
  • 多人会议: WebRTC
image.png
  • 3D游戏: WebGL
image.png
  • 编译其他语言: WebASSEMBLY
image.png

开发环境

一般使用Chrome或者Edge为浏览器。编辑器可以自由选择。

推荐使用VSCode,VSCode有大量的插件市场能够利用。是前端开发的利器。当然,若相信差生工具多,那么也可以不使用VSCode,使用WebStorm或者其他编辑器。


回归正题| HTML部分

Web页面一般由3部分组成

HTML(结构和内容),CSS(样式),JS(行为),这一部分主要记录HTML的一些内容。

杂记

在HTML代码中,<!doctype html>表示当前HTML版本。不使用会使用旧的HTML版本,可能会导致页面UI与期望不符合。

<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>页面标题</title>
  </head>
  <body>
    <h1>一级标题</h1>
    <p>段落内容</p>
  </body>
</html>

其中<head>中的<title></title>显示的内容在浏览器的标签页上,不在页面中。 <body>中的内容显示在页面中。最终效果如图:

image.png

dom 树

以标签为节点的树

image.png

HTML语法

  • 标签和属性不区分大小写,推荐使用小写
  • 空标签可以不闭合,比如 input、meta
  • 属性值推荐用双引号包裹
  • 某些属性值可以省略,比如 required

HTML标签

标题h系列标签

<h1>1级标题</h1>
<h2>2级标题</h2>
<h3>3级标题</h3>
<h4>4级标题</h4>
<h5>5级标题</h5>
<h6>6级标题</h6>

<p>你好,练习时常两年半的……</p>

h1-h6 只有字体大小发生了变化

image.png

一般将h系列标签和<p>标签等其他标签一起用。


列表标签

  • 有序列表

<ol>order list,<li>list item

<ol>
 <li>111</li>
 <li>222</li>
 <li>333</li>
</ol>

image.png

  • 无序列表

<ul>unorder list,<li>list item

<ul>
 <li>111</li>
 <li>222</li>
 <li>333</li>
</ul>

image.png

  • 键值

  • <dl>definition list

  • <dt>definition title

  • <dd>definition description

<dl>
 <dt>111</dt>
 <dd>122</dd>
 <dt>222</dt>
 <dd>233</dd>
 <dd>234</dd>
 <dd>235</dd> 
</dl>

image.png

列表还能够自由嵌套,如无序列表中的有序列表,有序列表中的无序列表,
当然,有序列表中的有序列表,无序列表中的有序列表也能够完成。


链接

使用<a>标签,其中参数href中指定跳转链接。

可以使用target="_blank"指定为跳转到新标签页

image.png


图片、音频、视频

<img src="https://ts1.cn.mm.bing.net/xxxxx" alt="蓝玫瑰" width="300px"/>
<audio src="C:\Users\xxxx\xxx.mp3" controls></audio>
<video src="明日香 One Last Kiss.mp4" controls width="400px"></video>

image.png src存储url或者路径名称。
alt表示图片显示失败时候的名称。一般用图片的名称作为alt存储的名称,
这样当图片失效的时候就能很方便的进行定位。
controls表示默认显示浏览器的播放控件

<img>标签,最好采用WebP网络图片格式。这种格式能减小图片一定大小。
<audio>标签,其中有autoplay属性能够使得播放器自动播放,
loop属性适配为true能够进行循环播放音频,
muted属性为布尔值,当为false时,表示有声音。用于是否静音。


输入

<input placeholder="请输入用户名">
<input type="range">
<input type="number" min="1" max="10">
<input type="date" min="1998-01-16">
<textarea>你好,掘金</textarea>
image.png

多选框,单选框,下拉选择,提示输入

type="radio"表示为单选框,checkout为多选框
使用<p>就能够纵向显示

<p>
<label><input type="checkbox" />芝麻</label>
<label><input type="checkbox" checked />西瓜</label>
</p>

<p>
<label><input type="radio" name="fruit" />西瓜</label>
<label><input type="radio" name="fruit" />香蕉</label>
</p>

<p>
  <select>
	<option>芝麻</option>
	<option>西瓜</option>
	<option>豆腐</option>
  </select>
</p>

<input list="fruit" />
<datalist id="fruit">
  <option>苹果</option>
  <option>香蕉</option>
  <option>水蜜桃</option>
</datalist>

image.png


快捷引用,引用

<blockquote> blockquote中的cite标注来源于什么地方,是快捷引用。

<cite>引用,标注引用的词或者句子。

<q>标注前面引用过的词或者句子。

<blockquote cite="xxxxxx">
  <p>
    我是好人,我是好人,我是好人,我是好人,我是好人,我是好人
  </p>
</blockquote>

<p>
  好好学习,天天向上.--<cite>周树人</cite> 
</p>

<p>
  好好休息,天天学习! -- <q>鲁迅</q>
</p>

image.png


代码

<code>标签将多行代码或者句子,又或是词语标记起来

注意:多行代码要配合<pre>标签使用

被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。

<pre>
<code>
  const { data:res } = await this.$http.get('xxxx')
  if(res.meta.status !== 200){
	return xxxxx
  }
</code>
</pre>

<p>
<code>const { data:res } = await this.$http.get('xxxx')</code>
</p>

<p>
<code>const</code>
</p>

image.png


强调标签

<strong>突出重要性或者紧急性

<em>更多是语气词,表示更重要

<p>
  我是<strong>好人</strong>
</p>

<p><em></em>好人
</p>

image.png


内容划分 <header>与head不一样,header表示页头,需要给用户呈现内容

<nav>表示导航栏部分

<main>页面主体部分,一个页面只有一个main

<article>正文部分,如文章

<aside>与内容有一定相关性的信息部分

<footer>页面尾部的标签,版权,备案等信息

image.png

HTML语义化

遵循语义编写HTML

  1. 规范便于维护
  2. 便于浏览器展示
  3. 便于SEO优化
  4. 便于无障碍阅读

怎么做?

  1. 了解每个标签和属性含义
  2. 思考什么标签最适合描述这个内容
  3. 不使用可视化工具生成代码

结尾

本文主要记录一些青训营HTML部分的学习内容。作为后续回顾的时候使用。
HTML还有很多的标签,这些标签中可能还有很多属性,一次性是不可能全部都记下来的。用的多了,熟能生巧,自然就记住了。另外,需要用到的时候还能去查文档,如MDN。 通过查阅文档,有时候能够加快学习或者工作效率。

引用参考:

MDN Web Docs (mozilla.org)