前端与HTML | 青训营笔记

82 阅读6分钟

前端与HTML | 青训营笔记

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

前情提要:

本次简单介绍了前端,HTML的标签及使用

主要内容

什么是前端?

前端主要解决的问题 —— 解决GUI人机交互问题

前端主要面对的设备 —— 跨终端:PC/移动浏览器、客户端/小程序、VR/AR等

前端主要的技术栈 —— Web技术栈

那么前端工程师又是做什么的呢?

前端工程师就是使用web技术栈解决多端图形用户页面交互问题的工程师

我们知道想跨入前端,首先要学会的就是前端三大件 : HTML、CSS、JavaScript。那你知道这三部分分别负责的是什么吗? html——内容、css——样式、javascript——行为

11.png

三者都是运行在浏览器中,浏览器通过http协议和服务器进行通信。服务器可以通过协议将代码运行显示在浏览器中,浏览器也可以通过http协议将用户的行为或填写的内容提交到服务器端。

当我们在进行网页开发是,不光要注意我们的代码能否实现功能,还应该注意:页面的美观,视觉无障碍,数据是否安全,网站性能,多设备的兼容性,用户的体验这些方面。

如果想开发,我们要先做一些准备工作。

我们要在我们的电脑上配置一些开发环境:

浏览器:IE/Edge、Chrome、Firefox、Safari

编辑器:VSCode、Vim、WebStorm

一切准备就绪,那就一起进入前端的世界吧!

首先要掌握的是HTML

什么是HTML

HTML 全称 HyperText Markup Language.他是一种超文本标记语言。只要通过标签来对网页中的文本、图片、音频、视频等内容进行描述。

1.png

让我们一起来看一段代码吧!

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树如下显示:

2.png

HTML语法准则:

标签和属性不区分大小写,推荐小写

空标签可以不闭合,比如: input, meta, img, br等

属性值推荐用双引号进行包裹

某些属性值可以省略进行简写,比如: required, readonly等

标签

标题:h1 ~ h6

每个标题标签都会有对应的内置样式,如果我们不进行更改,页面就会显示默认的内置样式。h1 ~ h6 的字体大小为由大到小。

列表:

有序列表 —— ol

有序列表在页面的呈现效果 —— 默认在每个列表项前面标上序号

<ol>
    <li>阿凡达</li>
    <li>泰坦尼克号</li>
</ol>

效果:

3.png

无序列表 —— ul

无序列表在页面的呈现效果 —— 默认在每个列表项前面标上黑点点

<ul>
    <li>阿凡达</li>
    <li>泰坦尼克号</li>
</ul>

效果:

4.png

自定义列表 —— dl

自定义列表在页面的呈现效果 —— 以标题和值的形式

<dl>
    <dt>电影</dt>
    <dd>阿凡达</dd>
    <dd>泰坦尼克号</dd>
</dl>

效果:

5.png

链接标签 —— 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 : 显示浏览器默认的播放控件

展示:

6.png

表单标签

输入类 —— 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>

效果:

7.png 选择类 —— 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>

效果图:

8.png

文本类标签

块引用(长引用)—— blockquote

<blockquote cite="https://baike.baidu.com/item/blockquote/3348394?fr=aladdin">
    <p> blockquote之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进,而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。</p>
</blockquote>

blockquote : 直接引用别人的一段话

cite : 表示这段话来源于那

展示:

9.png 短引用 —— cite

<p>我喜欢的一本书是<cite>小王子</cite></p>

cite: 这里的cite是标签,用于引用简短的文字,比如别人的作品的名字或者章节

展示:

10.png

短引用 —— q

q:定义一个短小的引用,一般是具体内容的引用

<p>在第一章我们讲过<q>字符串是不可变量</q></p>

展示:

12.png

代码 —— 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>

效果:

13.png

强调 —— strong, em

<p> 在投资之前,<strong>一定要做风险评估</strong>。</p>
<p>Cats <em>are</em> cute animals.</p>

展示:

14.png

区别

em和strong都有强调的作用,但是还是有区别的。

1、em 显示为斜体, strong 显示为黑体。

2、使用em标签会引起语义上的变化,强调的主体不同,语义也会不一样。而strong则是将重要的部分进行着重显示,不会引起语义上的变化。