什么是前端?
解决GUI人机交互问题
跨终端
web技术栈
前端程序员使用web技术栈解决多端图形用户界面交互问题的工程师
前端技术栈
HTML(内容):是我们在页面中可以看到的数据,我们称之为内容。同时,也决定了页面的结构 。
SCC(样式):是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言,简单来说就是对HTML进行修饰,让页面看起来更加美观。设置页面的位置、大小、颜色等这些信息。
JavaScript(行为):例如用户点完一个按钮之后,页面该如何响应。
这三个都运行在浏览器里面而浏览器可以通过HTTP协议和服务器进行通信。
前端应该关注哪些方面的问题
美观、功能、无障碍、安全、性能、兼容、体验
前端的边界?
一些开发工具
HTML
完整的是HyperText Marup Language 意思为超文本标记语言
DOM树
把HTML代码转化成树形的结构,每个节点称为DOM节点
HTML语法
标签和属性不区分大小写,但尽量写小写 空标签可以不闭合 属性值尽量用双引号包裹 某些属性值可以省略
HTML中的标签
标题标签
h1~h6
列表标签
有序列表 ol
列表项 li
无序列表 ul
定义列表 dl
dt对dd是多对多的关系
链接
a标签
文本类的标签
引用的标签
bloclkquote标签
cite标签一般表示作品的名字
q标签一般表示内容
code和pre标签用来引用代码
strong含义上强调标签(加粗)
em语气上强调标签(斜体)
谁在使用我们写的HTML?
开发者:修改、维护页面
浏览器:展示页面
搜索引擎:提取关键词、排序
屏幕阅读器:给盲人读页面内容、正常人在特定的场景也会用到
语义化的好处
提升代码的可读性
可维护性
搜索引擎优化
提升页面的无障碍性
传达内容,而不是样式
如何做到语义化?
了解每个标签和属性的含义(推荐看mdn的文档或者w3c上的HTML5的规范)
思考什么标签最合适描述这个内容
不使用可视化工具升成代码(规范自己的代码)