这是我参与「第四届青训营 」笔记创作活动的的第2天
先让我们用三个问题来了解一下前端工程师:
Question 1:什么是前端?
- 解决图形界面下的人机交互问题(GUI)
- 跨终端:① PC/移动浏览器 ② APP/小程序 ③ VR/AR等
- Web技术栈
概括说来:前端工程师就是使用Web技术栈,解决多端图形用户界面交互问题的工程师。
Question 2:前端技术栈分为哪些部分?
- HTML:页面、结构、内容
- CSS:设计页面样式
- JavaScript:定义网页的行为
上述三个部分均运行在浏览器里,浏览器可以通过http网络协议和服务器进行通信。
Question 3:前端应该关注哪些方面?
- 功能
- 美观
- 无障碍
- 安全
- 性能
- 兼容性
- 体验
HTML相关知识
HTML:HyperText Markup Language (超文本、标记语言)
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>页面标题</title>
</head>
<body>
<h1>一级标题</h1>
<p>段落内容</p>
</body>
</html>
第1行:标记了当前这个html用什么版本去渲染
第2、11行:根标签
第3、6行:放一些页面的原数据,也就是页面需要的,但不需要呈现给用户的信息
第7-10行:呈现给用户的内容
具体呈现效果:
HTML语法
语法规则:
- 标签和属性不区分大小写,推荐小写
- 空标签可以不闭合,例如input、meta
- 属性值推荐用双引号包裹
- 某些属性值可以省略,例如required、readonly
标题
h1~h6
列表
有序列表:
<ol>
<li>a</li>
<li>b</li>
<li>c</li>
</ol>
- a
- b
- c
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
- a
- b
- c
<dl>
<dt>导演</dt>
<dd>xxx</dd>
<dt>演员</dt>
<dd>Axx</dd>
<dd>Bxx</dd>
<dd>Cxx</dd>
<dt>上映时间</dt>
<dd>xxxx年xx月xx日</dd>
</dl>
- 导演
- xxx
- 演员
- Axx
- Bxx
- Cxx
- 上映时间
- xxxx年xx月xx日
链接
替换当前原有的页面:
<a href="超链接的地址">
超链接的名字
</a>
新窗口打开:
<a href="超链接的地址"
target-"_blank">
</a>
多媒体
图片:
<img src="…" alt="…" width="400"/>
音频:
<audio src="…" controls
></audio>
视频:
<video src=”…” controls></video>
输入
<input placeholder="请输入用户名:">
Placeholder表示一个占位符,意为当用户没有输入时显示的内容
<input type="range">
表示让用户选择一个范围,页面上会出现一个滑动条
<input type="number" min="1" max="10">让用户输入一个数字
<input type="date" min="2018-02-10">
<textarea>Hey</textarea> 让用户输入较长的多行文字
选择
<input type="checkbox" />让用户选择多个值
<input type="radio" name="sport" />让用户在sport中选择一个值
<select>
<option>…</option>
<option>…</option>
</select>
让用户进行下拉选择
<input list="countries" />
<datalist id="countries">
<option>Greece</option>
<option>…</option>
</datalist>
让用户自由输入,同时会提供一些提示便于快捷输入
表示文本性内容
- 引用: 快捷引用(长引用)
<blockquote cite=”http:…”>
<p>
…
</p>
</blockquote>
短引用(作品名字或章节)
<p>…<cite>引用文字</cite>。</p>
短引用
<q>…</q>
- 代码
<code> … </code>
- 加粗
<strong> … </strong>
- 重读
<em> … </em>
内容划分
header:页头
nav:导航
main:页面的主体部分,一般来说一个页面里只有一个main标签
aside:和该页面相关,但并不是直接属于这个页面的内容
article:文章正文
footer:参考链接、版权等备案信息
我们为什么要为HTML制定各类拥有特殊含义的元素、属性以及属性值呢?
要想回答这个问题,首先我们需要关注的是:谁在使用我们写的HTML?
-
开发者——修改、维护页面
-
浏览器——展示页面
-
搜索引擎——提取关键词、排序
-
屏幕阅读器——为盲人读取页面内容
不难看出,一个更加规范化、体系化的HTML语言,更有利于我们进行阅读,更容易通俗明了的表达出我们想要传达的信息。HTML中的元素、属性及属性值都拥有某些特殊含义,不如在日常的学习中,多关注这些含义与元素之间的对应关系吧!