前端和HTML | 青训营

68 阅读3分钟

前端工作的定义

三个要点:

1.解决GUI(图形用户界面)人机交互问题

2.跨终端(PC/移动浏览器、客户端/小程序、VR/AR等)

3.Web技术栈

前端技术栈拆解与分析

三层:(运行在浏览器里面<-->通过网络协议HTTP<-->服务器端)

1.HTML:内容

2.CSS:样式

3.JavaScript:行为

前端关注的问题:功能、美观、无障碍(对于所有人都适用:例如色盲症)、安全、性能、兼容性、用户体验等等。

前端的边界:nodeJS(服务器端)、ELECTRON(客户端)、React Native(PtoP在线传输)、WebRTC(开发3D游戏)、WebGL、WebASSEMBLY等等。

开发环境:浏览器、编辑器(VSCode、Vim、WebStorm)。

HTML作用解析

HyperText:超文本(图片、标题、链接、表格等)

Markup Language:标记语言(<h1>文章标题</h1>

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

<!doctype html>:标记当前HTML文件的版本,浏览器会根据这个选择渲染模式,防止出现怪异模式。

<html></html>:根标签,其他标签都写在这里面。

<head></head>:页面的元数据(需要但不呈现),例如标题、编码。

<body></body>:页面需要展示的内容。

  • 用HTML编写的文件,后缀以 .html 结尾。

  • HTML是一种标记语言,标记语言是一套标记标签。标签是由尖括号包围的关键字。

  • 标签有两种表现形式:

    • 双标签,例如:
    • 单标签,例如:
  • HTML的基本骨架

    • html标签
    • head标签
    • body标签
    • title标签
    • meta标签:meta标签用来描述一个HTML网页文档的属性、关键词等。例如: charset="utf-8" 是说当前使用的是 utf-8 编码格式。

DOM树

把代码转化成一个树形的结构,每个结点就是一个DOM结点

HTML语法

标签和属性不区分大小写,推荐小写

空标签可以不闭合,例如input、meta

属性值推荐用双引号包裹

某些属性值可以省略,例如required、readonly(只读)

标题h1-h6

不要仅仅是为了生成粗体或大号的文本而使用标题。

应该将 <h1> 用作主标题(最重要的),其后是<h2>(次重要的),再其次是<h3>,以此类推。

列表

  • 有序ol
  • 无序ul
  • 定义列表key-value(dl dt标题 dd具体描述 多对多的关系)】

超链接 a

href="超链接的地址"

图片img

  • src:路径(图片地址与名字)
  • alt:规定图像的替代文本
  • width:规定图像的宽度
  • height:规定图像的高度
  • title:鼠标悬停在图片上给予提示

音频audio

视频video

输入input

  • placeholder:默认显示
  • type="range":滑动条
  • type="number":输入数字
  • type="date":日期选择框
  • type="checkbox":多选
  • type="radio":单选
  • <textarea></textarea>:文本框
  • <select></select>:下拉选择
  • <option></option>:选项

引用

  • <blockquote></blockquote>:长引用
  • <cite></cite>:短引用,文章名或者章节名
  • <q></q>:短引用,具体内容
  • <code></code>:代码,等宽字体展示
  • <strong></strong>:强调,强调重要性
  • <em></em>:强调,强调语气

内容整体划分

  • <header></header> 头部
  • <nav></nav> 导航
  • <aside></aside> 侧边栏
  • <footer></footer> 脚部,参考信息、备案信息等
  • <article></article> 代表一个独立的、完整的相关内容块,例如一篇完整的论坛帖子,一篇博客文章,一个用户评论等
  • <section></section> 定义文档中的节,比如章节、页眉、页脚

HTML语义化

HTML中的元素、属性及属性值都拥有某些含义

开发者应遵循语义来编写HTML

原因:

  1. 开发者-修改、维护页面-方便协作
  2. 浏览器-展示页面
  3. 搜索引擎-提取关键词、排序
  4. 屏幕阅读器-给盲人读页面内容

好处:

  1. 代码可读性
  2. 可维护性
  3. 搜索引擎优化
  4. 提升无障碍性

传递内容,而不是样式

如何做:

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

MDN:developer.mozilla.org/en-US/docs/…