前端与 HTML | 青训营笔记

51 阅读3分钟

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

什么是前端工程师?

用老师的一句话总结就是:前端工程师是使用web技术栈解决多端图形用户页面交互问题的工程师。

什么是前端?

  • 前端有3个特点:

  • 解决了GUI人机交互问题

  • 是跨终端的

  • 使用web技术栈进行开发

    屏幕截图_20230115_161522.png

  • 前端技术栈主要是与服务器端相对应的js, css, html等技术

屏幕截图_20230115_161623.png

  • 前端应该关注的方面: 功能、美观、体验、性能、兼容性、安全性以及无障碍等

屏幕截图_20230115_161820.png

  • 现在前端的边界正在逐渐扩大,已经远远超出了页面这个简单的范畴 我们可以借助node.js进行服务端开发; 可以使用electron以及React Native去开发客户端的应用; 可以使用webRTC实现在线的传输,实现线上多人会议等; 可以使用webGL开发一些流畅的3D的游戏; 还可以使用wasm提高网页性能开发环境,使一些C++等的一些代码成为可以在浏览器中编辑的代码。

屏幕截图_20230115_162035.png

  • 前端的开发环境:浏览器+编辑器即可上手

屏幕截图_20230115_162059.png

什么是HTML?

屏幕截图_20230115_162248.png

它的全称是HyperText Markup Language的首字母缩写,表示超文本的标记语言

  • <h1>文章标题</h1>即可表示一个标签

  • 如果在标签上设置一些属性,例如 <ing src="photo.jpg"/> 表示一个图片

  • <!doctype html>

    表示当前的HTML文件是一个什么样的HTML版本,浏览器会根据它来决定使用某种渲染模式,若个不写,浏览器会以一种老旧怪异的模式渲染,会造成页面的效果和实际想要的不太符合。

  • <html>是文档的根标签,其它的标签要写在其中。

  • <head>一般表示页面的源数据,不进行呈现的,例如标题,编码等。

  • <body>是要呈现给用户的内容,例如文字,图片等。

DOM树

image.png

把HTML代码转化成一个DOM树,形成一个树形的结构,每个节点称为一个DOM节点。

HTML语法

image.png

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

语义化

image.png

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

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

  • 有序列表用ol;无序列表用ul

  • lang属性表示内容所使用的语言

HTML从1.0到5.0新增删除了很多标签。其实改动主要是因为HTML表述页面的内容和结构,为了清晰的表达出来,我们要对标签进行取舍选择,因此HTML在不断的更新换代。

为什么必须要强调语义化?

要考虑谁在使用我们写的HTML?

image.png

  • 开发者 - 修改、维护页面

  • 浏览器 - 展示页面

  • 搜索引擎 - 提取关键字、排序

  • 屏幕阅读器 - 给盲人读页面内容

语义化的好处

image.png

注意!HTML本质是传达内容,而不是传达样式

image.png

那么如何做到语义化呢?

image.png

首先应该了解标签和属性的含义,其次要了解标签适合表示的内容,仔细地选择标签,最后没办法控制生成的标签是什么样子,可以用一些插件作为辅助,但是不要可视化的去生成。