前端与 HTML | 青训营笔记

377 阅读3分钟

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

什么是前端

使用Web技术栈解决多端图形用户界面交互问题

前端技术栈

html:负责页面结构、内容
css:设计页面样式(eg:位置、大小、颜色)
javascript:定义网页行为,比如用户点击后页面该如何响应
以上三者都在浏览器中运行,浏览器可通过http协议和服务器进行通信,把前端代码通过网络协议从服务器上拿到,渲染成我们看到的页面;同时浏览器可以把用户填写的内容、行为通过http协议提交到服务器端

前端要关注哪些方面

功能:这个产品能满足用户哪些方面的需求
美观:界面是否好看
无障碍:对于不同的人群是否友好,用户包容
安全:用户隐私
性能:是否流畅
兼容:浏览器、不同的设备是否兼容
体验:用户体验是否好

开发环境

浏览器 + 编辑器

html

html是什么

HyperText:超文本,包括图片、标题、链接和表格 Markuo Language:标记语言,用一个开始标签和结束标签来表示一段内容

例如一段代码:

<!doctype html >  ——决定了渲染方式
< html > ——所有的其他代码都会写在html里面
  < head >——放页面的原数据,不需要直接呈现给用户的内容
     < meta charset = "UTF-8" >
     < title >页面标题</ title > 
  </ head >
  < body > ——需要呈现给用户的内容
      < h1 >一级标题</ h1 >
      < p >段落内容</ p > 
  </ body > 
</ html >

浏览器拿到html后会把这串代码解析成一个DOM树,其中的每一个节点称之为DOM节点,比如上述的title

html语法

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

标题

有h1-h6种表示,分别表示1-6级标题

列表

1、有序列表:展示出来会默认加上1、2、3,表示排序

<ol>
 <li>xx</li>
 <li>xxx</li>
</ol>

2、无序列表

<ul>
 <li>xx</li>
 <li>xxx</li>
</ul>

3、有属性值、属性名的列表

<dl>
 <dt>属性名:</dt>
 <dd>属性值1</dd>
 <dt>属性名2:</dt>
 <dd>属性值a</dd>
</dl>

链接

<a href="网址">
名称
</a>

多媒体标签

图片: alt属性:当这张图片加载失败或者不被加载的时候显示这些文字。

<img
  src="https://lf3-static.bytednsdoc.com/obj/eden-cn/ubqnuhbnuho/movable_type.jpg"
  alt="Metal movable type"
  width="400"
/>

音频: controls:这个音频需要显示浏览器的默认播放控件

<audio 
  src="/assets/music.ogg"
  controls
></audio>

视频:

<video
  src="/assets/video.mp4"
  controls
></video>

输入+选择

<input placeholder="请输入用户名">

<input type="range">

<input type="number" min="1" max="10">

<input type="date" min="2018-02-10">

<textarea>Hey</textarea>

输出结果:

Hey

语义化

语义化是什么

  • HTML中的元素、属性及属性值都拥有某些含义
  • 开发者应该遵循语义来编写HTML 语义化的好处
  • 代码可读性、可维护性、搜索引擎优化、提升无障碍性 如何做到语义化?
  • 了解每个标签和属性的含义
  • 思考什么标签最适合描述这个内容
  • 不使用可视化工具生成代码

谁在使用我们写的HTML

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