前端与HTML | 青训营笔记
这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
前情提要:
本次简单介绍了前端,HTML的标签及使用
主要内容
什么是前端?
前端主要解决的问题 —— 解决GUI人机交互问题
前端主要面对的设备 —— 跨终端:PC/移动浏览器、客户端/小程序、VR/AR等
前端主要的技术栈 —— Web技术栈
那么前端工程师又是做什么的呢?
前端工程师就是使用web技术栈解决多端图形用户页面交互问题的工程师
我们知道想跨入前端,首先要学会的就是前端三大件 : HTML、CSS、JavaScript。那你知道这三部分分别负责的是什么吗? html——内容、css——样式、javascript——行为
三者都是运行在浏览器中,浏览器通过http协议和服务器进行通信。服务器可以通过协议将代码运行显示在浏览器中,浏览器也可以通过http协议将用户的行为或填写的内容提交到服务器端。
当我们在进行网页开发是,不光要注意我们的代码能否实现功能,还应该注意:页面的美观,视觉无障碍,数据是否安全,网站性能,多设备的兼容性,用户的体验这些方面。
如果想开发,我们要先做一些准备工作。
我们要在我们的电脑上配置一些开发环境:
浏览器:IE/Edge、Chrome、Firefox、Safari
编辑器:VSCode、Vim、WebStorm
一切准备就绪,那就一起进入前端的世界吧!
首先要掌握的是HTML
什么是HTML
HTML 全称 HyperText Markup Language.他是一种超文本标记语言。只要通过标签来对网页中的文本、图片、音频、视频等内容进行描述。
让我们一起来看一段代码吧!
HTML代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>标题</title>
</head>
<body>
<h1>一级标题</h1>
<p>段落内容</p>
</body>
</html>
我们在编写之前基本都会使用!+ tab快捷键来自动生成基础模板,很少会知道这几行代码到底有什么用,接下来我们一起来仔细看一下吧!
分析如下:
<!DOCTYPE html>
这个标签,标记了我们当前在使用的html文件是什么版本,浏览器会根据这个来确定用什么模式来渲染页面,如果不写,可能浏览器就会用比较老的版本来进行渲染,这样出来的页面可能不是我们想要的。
<html></html>
html标签是文档的根标签,其他所有的标签都写在html标签内。
<head></head>
head标签中会放入页面的源数据,页面上不用显示,但是又很重要的信息,例如页面的编码形式,页面的标题等等。
<body></body>
body标签中放入的就是页面需要呈现的内容,用户所能看到的界面。比如文字,图片等
当我们把代码写完进行运行时,浏览器会将我们的代码解析,生成DOM树—— 也就是将html代码转换成一种树形结构,里面的每一个节点称之为DOM节点。
DOM树如下显示:
HTML语法准则:
标签和属性不区分大小写,推荐小写
空标签可以不闭合,比如: input, meta, img, br等
属性值推荐用双引号进行包裹
某些属性值可以省略进行简写,比如: required, readonly等
标签
标题:h1 ~ h6
每个标题标签都会有对应的内置样式,如果我们不进行更改,页面就会显示默认的内置样式。h1 ~ h6 的字体大小为由大到小。
列表:
有序列表 —— ol
有序列表在页面的呈现效果 —— 默认在每个列表项前面标上序号
<ol>
<li>阿凡达</li>
<li>泰坦尼克号</li>
</ol>
效果:
无序列表 —— ul
无序列表在页面的呈现效果 —— 默认在每个列表项前面标上黑点点
<ul>
<li>阿凡达</li>
<li>泰坦尼克号</li>
</ul>
效果:
自定义列表 —— dl
自定义列表在页面的呈现效果 —— 以标题和值的形式
<dl>
<dt>电影</dt>
<dd>阿凡达</dd>
<dd>泰坦尼克号</dd>
</dl>
效果:
链接标签 —— a
添加了链接的文字可以在点击时跳转到规定的页面。
<a href="https://juejin.cn/">稀土掘金</a>
<a href="https://juejin.cn/" target="_blank">稀土掘金</a>
第一行代码点击后,跳转后的网页会在当前页面打开,会覆盖当前的窗口
第二行代码点击后,跳转的页面会在新窗口打开,不会覆盖当前的窗口
媒体标签
图片标签 —— img
<img src="https://uploadfile.bizhizu.cn/2014/0124/20140124114736347.jpg.source.jpg" alt="风景图" title="风景图1">
src : 表示图片的地址
alt : 当浏览器中的图片加载不出来,就会显示alt中的文字信息来让用户知道这个图片所要传递的信息。
title : 当我们将鼠标悬停在图片上时所显示的文字
音频标签 —— audio 视频标签 —— video
<audio src="" controls></audio>
<video src="" controls></video>
src : 表示音频地址
controls : 显示浏览器默认的播放控件
展示:
表单标签
输入类 —— input中的text, range, number, date 类型等,文本域 textarea
<input type="text" placeholder="请输入用户名"/>
<input type="range" />
<input type="number" max="10" min="5" />
<input type="date" />
<textarea placeholder="请输入你要说的话..."></textarea>
效果:
选择类 —— input中的checkbox , radio类型, 下拉菜单select, 快速提示datalist
<p class="box">多选按钮</p>
<p>
<label><input type="checkbox" name="fruit"/>苹果</label>
<label><input type="checkbox" name="fruit"/>香蕉</label>
</p>
<p class="box">单选按钮</p>
<p>
<label><input type="radio" name="fruit"/>苹果</label>
<label><input type="radio" name="fruit"/>香蕉</label>
</p>
<p class="box">下拉菜单</p>
<p>
<select>
<option>苹果</option>
<option>香蕉</option>
<option>橘子</option>
<option>柠檬</option>
</select>
</p>
<p class="box">快速输入提示</p>
<input list="countries" />
<datalist id="countries">
<option>Greece</option>
<option>United Kingdom</option>
<option>United States</option>
</datalist>
效果图:
文本类标签
块引用(长引用)—— blockquote
<blockquote cite="https://baike.baidu.com/item/blockquote/3348394?fr=aladdin">
<p> blockquote之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进,而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。</p>
</blockquote>
blockquote : 直接引用别人的一段话
cite : 表示这段话来源于那
展示:
短引用 —— cite
<p>我喜欢的一本书是<cite>小王子</cite></p>
cite: 这里的cite是标签,用于引用简短的文字,比如别人的作品的名字或者章节
展示:
短引用 —— q
q:定义一个短小的引用,一般是具体内容的引用
<p>在第一章我们讲过<q>字符串是不可变量</q></p>
展示:
代码 —— code, pre + code(引用多行代码)
<p>单行代码</p>
<p>
<code>const</code>声明创建一个制度的常量
</p>
<p>多行代码</p>
<p>
<pre>
<code>
const add = (a, b) => a + b;
const multiply = (a, b) => a * b;
</code>
</pre>
</p>
效果:
强调 —— strong, em
<p> 在投资之前,<strong>一定要做风险评估</strong>。</p>
<p>Cats <em>are</em> cute animals.</p>
展示:
区别:
em和strong都有强调的作用,但是还是有区别的。
1、em 显示为斜体, strong 显示为黑体。
2、使用em标签会引起语义上的变化,强调的主体不同,语义也会不一样。而strong则是将重要的部分进行着重显示,不会引起语义上的变化。