前端与HTML | 青训营笔记

473 阅读3分钟

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

什么是前端

  • 解决GUI人机交互问题
  • 跨终端
    • PC/移动浏览器
    • 客户端/小程序
    • VR/AR等
  • Web技术栈
  • 前端工程师就是使用Web技术栈解决多端图形用户界面交互问题的工程师

前端技术栈

  • HTML——页面结构和内容
  • CSS——设置页面样式,比如大小颜色等
  • JavaScript——定义页面行为

image.png

前端应该关注哪些方面

  • 功能(有没有满足用户需求)
  • 美观(界面好看否)
  • 无障碍(accessibility,是否所有人都可以舒适用)
  • 安全(要保证用户数据的安全)
  • 性能(速度足够快否,用户体验是否足够好)
  • 兼容性(网页是否能在各种设备正常使用)

前端的边界

  • Node.js——开发服务器端的应用
  • Electron&React Native——开发客户端的应用
  • Web RTC——实现在线的传输,实现多人的会议
  • Web GL——开发3D游戏
  • Web Assembly——把C++等语言编译为浏览器可运行的代码

开发环境

image.png

HTML是什么

  • HyperText Markup Language
    • Hyper:图片,标题,链接,表格
    • Markup:HTML标签

image.png

HTML语法

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

标题h1-h6

image.png

列表

  • ol标签——有序列表
  • ul标签——无序列表
  • dl标签——定义列表;dt——列表标题;dd——列表值

image.png

链接

  • a标签
  • href属性
  • target="_blank"——用新窗口打开页面

多媒体

  • alt属性——在用户的浏览器无法加载文件时,用文字形式告诉用户文件是什么
  • audio标签——音频
  • video标签——视频
  • controls——使用浏览器默认的播放控件

输入

image.png

  • name属性——多个radio之间如果name相同,用户就只能选择一个 image.png
  • datalist并不限制用户输入,只是为用户提供快捷的输入方式 image.png

引用

  • blockquote标签——长引用(直接引用别人的一段话,可以在cite属性里标注来源)
  • cite标签——短引用(作品名字或章节)
  • q标签——短引用(具体的引用内容)
  • code标签——表示代码
  • pre标签——多行代码
  • strong标签——加重语气,强调
  • em标签——重音部分 image.png

内容划分

  • header——页头
  • nav——导航
  • main——主体,主要内容
  • article——放正文内容
  • aside——推荐内容
  • footer——参考链接,版权信息 image.png

语义化

  • 清晰地表达内容与结构 image.png

谁在使用我们写的HTML

  • 开发者——修改、维护页面
  • 浏览器——展示页面
  • 搜索引擎——提取关键词、排序
  • 屏幕阅读器——给盲人读页面内容

语义化的好处

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

传达内容,而不是样式

如何做到语义化

  • 了解每个标签和属性的含义——W3C/MDN上的HTML5的规范
  • 思考什么标签最适合描述这个内容
  • 不使用可视化工具生成代码——可以作为辅助,不建议直接生成