前端简介
学习web前端开发基础技术需要掌握:HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的:
HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。
CSS样式是表现。就像网页的外衣。比如,标题字体、颜色变化,或为标题加入背景图片、边框等。所有这些用来改变内容外观的东西称之为表现。
JavaScript是用来实现网页上的特效效果。如:鼠标滑过弹出下拉菜单。或鼠标滑过表格的背景颜色改变。还有焦点新闻(新闻图片)的轮换。可以这么理解,有动画的,有交互的一般都是用JavaScript来实现的。
http协议
# 1.四大特性
1.基于请求、响应
服务端永远不会主动给客户端发消息 必须是客户端先请求服务端被动响应
2.基于TCP/IP作用于应用层之上的协议
应用层协议:HTTP HTTPS FTP ...
3.无状态
服务端不保存客户端状态(纵使见她千百遍 我都当她如初见)
4.短连接
不保持客户端与服务端之间的链接导通
补充:websocket(长连接) 主要用于加好友聊天等业务
# 2.数据格式
请求格式:客户端给服务端发送消息应该遵循的数据格式
1.请求首行(请求方法 协议版本)
2.请求头(一大堆k:v键值对)
3.(换行不能省略)
4.请求体(携带敏感数据:密码 身份照号...) 不是一直都有
响应格式:服务端给客户端发送消息应该遵循的数据格式
1.响应首行(响应状态码 协议版本)
2.响应头(一大堆k:v键值对)
3.(换行不能省略)
4.响应体(给浏览器展示给用户看的页面内容)
# 3.响应状态码
用数字来表示一串中文意思(简化理解)
1XX:服务端成功接收到了你的数据正在处理 你可以等待或者继续发送
2XX:200 OK 表示请求成功 服务端给出了响应
3XX:301\302 表示重定向(想访问A页面但是自动跳转到了B页面)
4XX:403请求不合法(权限不够) 404请求资源不存在
5XX:都是服务端错误 与客户端无关(代码bug、机房炸了...)
在工作中还会自定义状态码(因为默认的不够)
自定义状态码一般都是从10000开始
# 以后我们进公司写后端也需要给前端提供一个手册
eg:聚合数据
HTML简介
HTML
以html为后缀的文件可以用浏览器打开,比如新建一个txt文件,将后缀改为html
html格式
一、 一个HTML文件是有自己固定的结构的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
代码讲解:
<!DOCTYPE html>,那么它的意义是什么呢?它是html5标准网页声明,全称为Document Type HyperText Mark-up Language,意思为文档种类为超文本标记性语言或超文本链接标示语言,现在是这个简洁形式,支持html5标准的主流浏览器都认识这个声明。表示网页采用html5,<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。
<html lang="en">支持的語言,en是英文 <meta charset="UTF-8"> 編碼方式,utf_8 <html></html>称为根标签,所有的网页标签都在<html></html>中。 <head> 标签用于定义文档的头部,它是所有头部元素的容器。头部元素有<title>、<script>、 <style>、<link>、 <meta>等标签。 在<body></body>标签之间的内容是网页的主要内容,如<h1>、<p>、<a>、<img>等绝大多数网页内容标签,在这里的标签中的内容会在浏览器中显示出来。
下面这些标签可用在 head 部分:
<head>
<title>...</title>
<meta>
<link>
<style>...</style>
<script>...</script>
</head>
head标签内编写的标签一般都是给浏览器看的
title标签 控制网页小标题
style标签 内部支持编写css代码
link标签 引入外部css文件
script标签 内部支持编写js代码 也可以通过src属性引入外部js文件
meta标签 功能非常多
keywords:搜索引擎查询关键字
description:用于展示页面搜索结果的文本描述
注释
代码注释不仅方便程序员自己回忆起以前代码的用途,还可以帮助其他程序员很快的读懂你的程序的功能,方便多人合作开发网页代码。快捷键 Ctrl+?
语法:
<!--注释文字 -->
<!--
注释文字
多行注释
-->
CSS注释代码
就像在Html的注释一样,在CSS中也有注释语句:
用/*注释语句*/来标明(Html中使用<!--注释语句-->)
html中的特殊字符
html中有些符号不可以直接打出,在此列出最常见的一些符号。
特殊符号 | 描述 | 表示(必须有英文分号) |
---|---|---|
空格 | 空格 | |
> | 大于 | > |
< | 小于 | < |
& | &符 | & |
¥ | 羊角符 | ¥ |
© | 版权 | © |
® | 商标 | ® |
x | 乘号 | × |
÷ | 除号 | ÷ |
简单标签
-
p:段落标签
<p>段落文本</p>
如果想在网页上显示文章,这时就需要
标签了,把文章的段落放到<p>标签中。 <p>段落文本</p>
- hx:标题标签
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
\<hx>标签来制作文章的标题。
标题标签一共有6个,h1、h2、h3、h4、h5、h6
分别为一级标题、二级标题、三级标题、四级标题、五级标题、六级标题。
并且依据重要性递减。\<h1>是最高的等级。
语法:
\<hx>标题文本\</hx> (x为1-6)
文章的标题前面已经说过了,可以使用标题标签,另外网页上的各个栏目的标题也可使用它们
- em,strong:强调标签
<em>强调</em>
<strong>更加强调</strong>
如果想在一段话中特别强调某几个文字,这时候就可以用到<em>或<strong>标签。
但两者在强调的语气上有区别:
<em> 表示强调,<strong> 表示更强烈的强调。
并且在浏览器中 <em> 默认用斜体表示,
<strong> 用粗体表示。
两个标签相比,目前国内前端程序员更喜欢使用<strong>表示强调
- span标签
<span>标签是没有语义的,它的作用就是为了设置单独的样式用的,把一段话圈起来,然后用css设置样式。
<span>文本</span>
- q:短文本引用标签
比如在你的网页的文章里想引用某个作家的一句诗使你的文章更加出彩,那么<q>标签是你所需要的。
<q>引用文本</q>
1,注意要引用的文本不用加双引号,浏览器会对q标签自动添加双引号。
2,注意用<q>标签的真正关键点不是它的默认样式双引号(如果这样我们不如自己在键盘上输入双引号就行了)
而是它的语义:引用别人的话
- blockquote:长文本引用标签
<blockquote>的作用也是引用别人的文本。但它是对长文本的引用
<q>标签是对简短文本的引用,比如说引用一句话就用到<q>标签。
<blockquote>引用文本</blockquote>
浏览器对<blockquote>标签的解析是缩进样式<blockquote>引用文本</blockquote>
- br:换行标签
<br/>标签作用相当于word文档中的回车。
- hr:分割线标签
<hr/>标签的在浏览器中的默认样式线条比较粗,颜色为灰色.
- address:地址标签
address标签,为网页加入地址信息
语法:
<address>地址信息</address>
如:
<address>上海市浦东新区</address>
在浏览器上显示的样式为斜体,如果不喜欢斜体,当然可以;
可以在后面使用css样式来修改它<address>标签的默认样式
- code:代码标签
在介绍语言技术的网站中,必免不了在网页中显示一些计算机专业的编程代码
当代码为一行代码时,你就可以使用<code>标签了,如下面例子:
<code>var i=i+300;</code>
语法:
<code>代码语言</code>
- pre:预格式化标签
注意:在文章中一般如果要插入多行代码时不能使用<code>标签
如果是多行代码,可以使用<pre>标签。
<pre> 标签的主要作用:预格式化的文本。
被包围在 pre 元素中的文本通常会保留空格和换行符。
如果用以前的方法,回车需要输入<br>签,空格需要输入 。
注意:<pre> 标签不只是为显示计算机的源代码时用的,在你需要在网页中预显示格式时都可以使用它
只是<pre>标签的一个常见应用就是用来展示计算机的源代码。
复杂标签
-
ul-li:无序列表标签
ul-li是没有前后顺序的信息列表。 语法: <ul> <li>信息</li> <li>信息</li> ...... </ul> 举例: <ul> <li>奔跑吧</li> <li>极限挑战</li> <li>蘑菇屋</li> </ul> ul-li在网页中显示的默认样式一般为:每项li前都自带一个圆点
- ol-li:有序列表标签
有序列表
语法:
<ol>
<li>信息</li>
<li>信息</li>
......
</ol>
举例:
下面是一个热点课程下载排行榜:
<ol>
<li>前端开发面试心法 </li>
<li>零基础学习html</li>
<li>JavaScript全攻略</li>
</ol>
<ol>在网页中显示的默认样式一般为:每项<li>前都自带一个序号,序号默认从1开
- div:容器标签
在网页制作过程过中,可以把一些独立的逻辑部分划分出来
放在一个<div>标签中,这个<div>标签的作用就相当于一个容器。
语法:
<div>…</div>
确定逻辑部分:
什么是逻辑部分?
它是页面上相互关联的一组元素,比如,可通过对<div>进行格式设计从而改动<div>标签内的所有子标签内容。
如下图所示:
<div style="color:red;height: 100px;width: 100px;border:solid">
这是一个盒子
</div>
<div style="color:blue;height: 100px;width: 100px;border:solid">
这是一个盒子
</div>
<div style="color:yellow;height: 100px;width: 100px;border:solid">
这是一个盒子
</div>
-
a:超链接标签
使用<a>标签,链接到别一个页面 使用<a>标签可实现超链接,它在网页制作中可以说是无处不在,只要有链接的地方,就会有这个标签。 语法: <a href="目标网址">链接显示的文本</a> 例如: <a href = "https://www.baidu.com/">click here!</a> 上面例子作用是单击click here!文字,网页链接到https://www.baidu.com/这个网页。
-
img:图片标签
认识<img>标签,为网页插入图片 在网页的制作中为使网页炫丽美观,肯定是缺少不了图片,可以使用<img>标签来插入图片。 语法: <img src="图片地址" alt="下载失败时的替换文本" title = "提示文本"> 举例: <img src = "y.png" alt = "加载图片失败" title = "Pinker_Q" /> 讲解: 1、src:标识图像的位置; 2、alt:指定图像的描述性文本,当图像不可见时(下载不成功时),可看到该属性指定的文本; 3、title:提供在图像可见时对图像的描述(鼠标滑过图片时显示的文本); 4、图像可以是GIF,PNG,JPEG格式的图像文件。
-
table:表格标签
创建表格的五个元素:
table、tr、th、td
1、<table>…</table>:整个表格以<table>标记开始、</table>标记结束。
2、<th>…</th>:表格的头部的一个单元格,表格表头。
3、<tr>…</tr>:表格的一行,所以有几对tr 表格就有几行。
4、<td>…</td>:表格的一个单元格,一行中包含几对<td>...<td/>,说明一行中就有几列。
5、表格中列的个数,取决于一行中数据单元格的个数。
例子:
<table border="1">
<thead>
<tr> <!--tr表示一行-->
<th>编号</th> <!--th加粗文本-->
<th>姓名</th>
<th>年龄</th>
</tr>
</thead> <!--表头字段-->
<tbody>
<tr>
<td>1</td> <!--td普通文本-->
<td>jason</td>
<td>18</td>
</tr>
<tr>
<td>2</td>
<td>tony</td>
<td>28</td>
</tr>
<tr>
<td>3</td>
<td>kevin</td>
<td>38</td>
</tr>
</tbody> <!--表单数据-->
</table>
跨越表格:rowspan ,colspan
<table border = "1">
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
</tr>
<tr>
<td rowspan = "2">Row 1 Cell 1</td>
<td>Row 1 Cell 2</td>
<td>Row 1 Cell 3</td>
</tr>
<tr>
<td>Row 2 Cell 2</td>
<td>Row 2 Cell 3</td>
</tr>
<tr>
<td colspan = "3">Row 3 Cell 1</td>
</tr>
</table>
-
form:表单标签
表单是可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。 表单元素是允许用户在表单中输入内容 比如:文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等等。 表单使用表单标签 <form> 来设置: 语法: <form method="传送方式" action="服务器文件"> . input elements . </form> 讲解: 1.<form> :<form>标签是成对出现的,以<form>开始,以</form>结束。 2.action :浏览者输入的数据被提交到的地方,比如一个PHP页面(save.php)。 3.method : 数据传送的方式(get/post)。 4.input elements : 表单元素 5. 表单元素form是不可见的,只是用来指明要使用表单元素。
-
input:输入框
<input>输入框 文本输入框、密码输入框 当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。 语法: <form> <input type="text/password" name="名称" value="文本" /> </form> 1、type: 当type="text"时,输入框为文本输入框; 当type="password"时, 输入框为密码输入框。 2、name:为文本框命名,以备后台程序ASP 、PHP使用。 3、value:为文本输入框设置默认值。(一般起到提示作用) 举个例子: <form> 用户名: <input type="text" name="username" value="请输入用户名"><br> 密码: <input type="password" name="password" value="请输入密码"> </form>
-
-
textarea :文本域
文本域,支持多行文本输入 当用户需要在表单中输入大段文字时,需要用到文本输入域。 语法: <textarea rows="行数" cols="列数">文本</textarea> 1、<textarea>标签是成对出现的,以<textarea>开始,以</textarea>结束。 2、cols :多行输入域的列数。 3、rows :多行输入域的行数。 举个例子: <textarea rows="10" cols="40">文本</textarea>
-
radio/checkbox:单选框/复选框
单选框,复选框 语法: <input type="radio/checkbox" value="值" name="名称" checked="checked"/> 1、type: 当type="radio"时,控件为单选框 当type="checkbox"时,控件为复选框 2、value:提交数据到服务器的值(后台程序PHP使用) 3、name:为控件命名,以备后台程序ASP、PHP使用 4、checked:当设置checked="checked"时,该选项被默认选中 注意:同一组的单选按钮,name取值一定要一致,这样同一组的单选按钮才可以起到单选的作用。 举个例子: 单选框: <form> <input type="radio" name="sex" value="male">Male<br> <input type="radio" name="sex" value="female">Female </form>
-
复选框:
<form> <input type="checkbox" name="vehicle" value="Bike">I have a bike<br> <input type="checkbox" name="vehicle" value="Car">I have a car </form>
-
select:下拉列表框
下拉列表框,节省空间 下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、又可以多选。 语法:<option value="提交值">选项</option> 提交值是向服务器提交的值,选项是显示的值。 举个例子: <form action="save.php" method="post" > <label>爱好:</label> <select> <option value="看书">看书</option> <option value="旅游" selected="selected">旅游</option> <option value="运动">运动</option> <option value="购物">购物</option> </select> </form>
使用下拉列表框进行多选
下拉列表也可以进行多选操作,在<select>标签中设置multiple="multiple"属性,
就可以实现多选功能,进行多选时按下Ctrl键同时进行单击,可以选择多个选项。
如下代码:
<form action="save.php" method="post" >
<label>爱好:</label>
<select multiple="multiple">
<option value="看书">看书</option>
<option value="旅游">旅游</option>
<option value="运动">运动</option>
<option value="购物">购物</option>
</select>
</form>
-
button:按钮
在表单中有两种按钮可以使用,分别为:普通按钮、提交按钮、重置按钮。 1,普通按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮。 语法: 1,<input type="button" value="按钮"> 普通按钮 value:按钮上显示的文字 2,提交按钮:当用户需要提交表单信息到服务器时,需要用到提交按钮。 语法: <input type="submit" value="提交"> type:只有当type值设置为submit时,按钮才有提交作用 value:按钮上显示的文字 3,重置按钮,重置表单信息 当用户需要重置表单信息到初始时的状态时: 比如用户输入“用户名”后,发现书写有误,可以使用重置按钮使输入框恢复到初始状态。 只需要把type设置为"reset"就可以。 语法: <input type="reset" value="重置"> type:只有当type值设置为reset时,按钮才有重置作用 value:按钮上显示的文字 举个例子: <input type="button" value="按钮"><br/> <input type="submit" value="提交"><br/> <input type="reset" value="重置"><br/>