前端与HTML | 青训营笔记

121 阅读5分钟

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

一、本堂课重点内容

  • DOM树
  • 语义化

二、详细知识点介绍

  • 前端人要关注:

    功能、性能、安全、体验、美观、兼容、无障碍

  • 前端的边界:

    • node.js 运行在服务器端的 JavaScript
    • ELECTRON 使用HTML,CSS和JavaScript等技术,创建桌面应用程序的框架
    • React Native 使用React创建Android和ios原生应用的框架
    • WebRTC 网页实时通信技术,
    • WebGL 3D绘图协议,为H5 Canvas提供硬件3D加速渲染
    • WebASSEMBLY 将非JavaScript编程语言编写的程序运行在浏览器的技术方案
  • HTML DOM树

    A DOM tree is an in-memory representation of a document. 直译:DOM 树是文档的内存表示。

    Web浏览器会解析HTML元素,将其转换为DOM树,即文档对象模型。

    DOM树包含:DocumentType节点,Element节点,Text 节点、 comments 节点(和ProcessingEducation 节点)

  • 不常用标签

    <blockquote cite="http://xxxx">
      <p>xxxxxx</p>
    </blockquote><!--斜体--> 
    <cite>xxx</cite><!--双引号-->
    <q>xxxx</q><!--代码片段-->
    <pre><code>
    const add = (a, b) => a + b;
    const multiply = (a, b) => a * b;
    </code></pre>
    
  • 内容划分

    image-20220811102048665

  • HTML 语义化的理解

    1. 元素、属性、属性值都有各自的含义
    2. 开发者应遵循语义编写代码

    A:代码可读性、可维护性、搜索引擎优化、提升无障碍性

    语义标签

    • <section> 表示区块
    • <article> 表示文章。如文章、评论、帖子、博客
    • <header> 表示页眉
    • <footer> 表示页脚
    • <nav> 表示导航
    • <aside> 表示侧边栏。如文章的侧栏
    • <figure> 表示媒介内容分组。
    • <mark> 表示标记
    • <progress> 表示进度
    • <time> 表示日期

三、标签总结

以下内容为阅读【千古前端图文教程】所摘录的笔记,链接置于文末。

meta标签

“元”配置,基本的配置项目

  • 字符集 charset:网页的编码方式。utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312等。

  • 视口 viewport

  • 定义“关键词”: <meta name="Keywords" content="xxxxx" /> 即网页关键词,提高搜索命中率。

  • 定义“页面描述”: <meta name="Description" content="xxxx" /> 即搜索结果中显示的语句,SEO技术(search engine optimization,搜索引擎优化)。

  • 页面的刷新与跳转:<meta http-equiv="refresh" content="3;http://www.baidu.com"> 3秒之后,自动跳转到百度页面。 应用场景:网页PPT自动播放、每隔一分钟刷新页面的大屏幕监控

base标签

<base href="/"> 指定基础路径。

body标签

image.png

排版标签

  • <h1><h6> 标题标签

image.png

  • <p> 段落标签

image.png

  • <hr /> 水平线标签

image.png

  • <br /> 换行标签

  • <div><span>

image.png

  • div标签:容器级,可以把标签中的内容分割为独立的区块。必须单独占据一行

  • span标签:文本级,和div的作用一致,但不换行

  • <center> 内容居中标签

这个标签中的内容居于浏览器中间,在HTML5中不建议使用,建议用css布局来实现。

  • <pre> 预定义(预格式化)标签

将保留标签内部所有的空白字符(空格、换行符),原封不动地输出结果。

  • <u>下划线标记
  • <s><del>中划线标记(删除线)
  • <i><em>斜体标记
  • <sup>上标
  • <sub>下标

PS:字体标签 <font>与 粗体标签 <b><strong>已废弃

超链接

image.png

  • 外部链接 <a href="http://www.baidu.com" target="_blank">baidu</a>
  • 锚链接:在本页面或者其他页面的的不同位置进行跳转。

创建锚点:使用 name 属性或者 id 属性给那个特定的位置起个名字。

说明:name属性是HTML4.0以前使用的,id属性是HTML4.0后才开始使用。为了向前兼容,因此,name和id这两个属性都要写上,并且值是一样的。

<a href="a.html#name1">回到顶部</a>

  • 邮件链接: <a href="mailto:xxx@163.com">邮箱</a>

四种状态(4种伪类):

  • :link “链接”:超链接点击之前;
  • :visited “访问过的”:链接被访问过之后;
  • :hover “悬停”:鼠标放到标签上的时候;
  • :active “激活”: 鼠标点击标签,但是不松手时。

注意:书写时必须 按照上述顺序,否则不生效。开发过程中, a:link 、 a:visited 都是可以省略的,简写在a标签里面。

图片标签

img 标签,为单标签。src属性的两种写法:相对路径和绝对路径。

能够插入的图片类型是:jpg(jpeg)、gif、png、bmp等。 不能往网页中插入的图片格式是:psd、ai等。 HTML页面不是直接插入图片,而是插入图片的引用地址,所以要先把图片上传到服务器上。

image.png

列表标签

三种

  • 无序列表: <ul> <li>

image.png

PS: 项目符号也可以是图片,需要通过CSS设置 <li> 标记的背景图片来实现

list-style-position: inside 给 ul 设置这个属性后,将小圆点包含在 li 元素的内部

列表之间是可以嵌套的。

  • 有序列表: <ol> <li>

image.png

  • 定义列表: <dl>

没有属性。dl 的子元素只能是 dt 和 dd 。

  • <dt> :definition title 列表的标题,这个标签是必须的;
  • <dd> :definition description 列表的列表项,可以不加。

表格标签

image.png

  • <tr>

image.png

  • <td> 单元格

image.png

  • <th> 加粗的单元格,属性同<td> 标签
  • <caption> 表格标题,使用时和 <tr> 标签并列

image.png

  • <thead> <tbody> <tfoot> 标签:

有与没有的区别:

  1. 有:按照thead、tbody、tfoot的顺序依次来显示内容;

    没有: 按照代码的从上到下的顺序来显示。

  2. 有:数据可以边获取边显示;

    没有:等表格的内容全部从服务器获取完成才显示。

表单标签

<form> 用于与服务器的交互。

image.png

PS:表单和表格嵌套时,是 <form> 标记中套 <table>

<form>     
    <fieldset>
        <legend>
            <!--name-->
        </legend>
        姓名:<input />
        ...
    </fieldset>
</form> 

输入标签

  • <input> 单标签,文本框。

image.png

让label标签的for 属性值,和 input 标签的 id 属性值相同,那么这个label和input就有绑定关系了。

  • 多行文本输入框

image.png

下拉列表标签

<select> 选择 <option> 选项

image.png

多媒体标签

音频、视频、Flash

  • <bgsound> 标签:播放背景音乐

image.png

  • <embed> 标签:播放多媒体文件,主要应用于Netscape浏览器,不是W3C规范。

image.png

  • <object> 标签:播放多媒体文件,主要应用于IE浏览器,是W3C规范。

image.png

PS:在网页中插入Flash时,为了同时兼容多种浏览器,需要将 <object> 标签和 <embed> 标签标记一起使用,使用的顺序是: <object> 中嵌套 <embed>

滚动字幕标签

<marqueee> 标签,内容会像弹幕一样自动移动。

image.png

四、引用参考

教你快速入门webAssembly前端开发】 - 知乎

HTML Living Standard

HTML元素参考

千谷前端图文教程