前端·基础

B/S软件的结构

在这里插入图片描述

前端开发流程

在这里插入图片描述

网页的组成部分

在这里插入图片描述
在这里插入图片描述

HTML简介

在这里插入图片描述

HTML文件书写规范

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HTML标签介绍

在这里插入图片描述

基本属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html><!--约束-->
<html lang="zh_CN"><!--html标签表示html的开始 lang="zh_CN"表示中文
html标签中一般分为两部分 分别是head和body-->
<head><!--head 表示头部信息 一般包含三部分内容 title标签,css样式,js代码-->
<meta charset="UTF-8"><!--表示当前页面使用utf-8字符集-->
<title>Title</title><!--标题-->
</head>
<!--bgcolor是背景颜色 就是body标签的基本属性
onclick表示单击事件
alert()是JavaScript提供的一个警告框函数
它可以接收任意参数,参数就是警告框的提示信息
-->
<body bgcolor="#f0f8ff" )><!--body标签是整个html页面显示的主体内容-->
<p>hello world</p>
</body>
</html>

在这里插入图片描述

事件属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html><!--约束-->
<html lang="zh_CN"><!--html标签表示html的开始 lang="zh_CN"表示中文
html标签中一般分为两部分 分别是head和body-->
<head><!--head 表示头部信息 一般包含三部分内容 title标签,css样式,js代码-->
<meta charset="UTF-8"><!--表示当前页面使用utf-8字符集-->
<title>Title</title><!--标题-->
</head>
<!--bgcolor是背景颜色 就是body标签的基本属性
onclick表示单击事件
alert()是JavaScript提供的一个警告框函数
它可以接收任意参数,参数就是警告框的提示信息
-->
<body onclick="alert('hello world!')"><!--body标签是整个html页面显示的主体内容-->
<p>hello world</p>
</body>
</html>

在这里插入图片描述

单双标签

在这里插入图片描述
br是换行 hr是水平线。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html><!--约束-->
<html lang="zh_CN"><!--html标签表示html的开始 lang="zh_CN"表示中文
html标签中一般分为两部分 分别是head和body-->
<head><!--head 表示头部信息 一般包含三部分内容 title标签,css样式,js代码-->
<meta charset="UTF-8"><!--表示当前页面使用utf-8字符集-->
<title>Title</title><!--标题-->
</head>
<!--bgcolor是背景颜色 就是body标签的基本属性
onclick表示单击事件
alert()是JavaScript提供的一个警告框函数
它可以接收任意参数,参数就是警告框的提示信息
-->
<body><!--body标签是整个html页面显示的主体内容-->
<button onclick="alert('Hello World!')">按钮</button>
<br/>
hello
<br/>
world
<hr/>
Hello World!
</body>
</html>

在这里插入图片描述

标签的语法

标签不能够交叉嵌套

在这里插入图片描述

标签必须正确关闭

在这里插入图片描述

没有文本内容的标签

在这里插入图片描述

属性必须有值 属性值必须加引号

在这里插入图片描述

注释不能嵌套

在这里插入图片描述

常用标签

font字体标签

font标签用来修改文本的字体(face)颜色(color)和大小(size)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特殊字符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标题标签

标题标签是h1到h6
在这里插入图片描述

在这里插入图片描述
对齐:
在这里插入图片描述
在这里插入图片描述

超链接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
self是默认值。

列表标签

无序列表:unordered list

每一项是 list item
在这里插入图片描述
在这里插入图片描述

有序列表:ordered list

可以用type属性修改前面的符号
在这里插入图片描述
在这里插入图片描述

img标签

src属性可以设置图片的路径
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
可以用width和height属性修改图片的宽度和高度
在这里插入图片描述

表格标签

在这里插入图片描述
在这里插入图片描述

  • table标签是表格标签
  • tr是行标签(table row)
  • th是表头标签(table head)
  • td是单元格标签
  • border设置表格边框 width和height设置宽度和高度
  • align设置文本对齐方式 也可以设置表格对齐
  • b设置为文本加粗
    th标签完成了居中加粗的效果
    在这里插入图片描述
    在这里插入图片描述
    用cellspacing设置单元格之间的距离

跨行跨列表格

在这里插入图片描述
在这里插入图片描述
注意使用rowspan属性和colspan属性来跨行跨列,里面的参数是要跨的行数和列数。
注意跨行跨列后要把某些单元格删掉,不然会被挤出来,不是想要的效果。

iframe标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击超链接会让iframe跳转到这个页面。注意使用iframe的name属性和a标签的target属性结合。

表单标签

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form>
用户名:<input type="text" value="默认值"><br><br>
密码:<input type="password"><br><br>
确认密码:<input type="password"><br><br>
性别:<input type="radio" name="sex" checked="checked"><input type="radio" name="sex"><br><br>
兴趣爱好:<input type="checkbox" checked="checked">Java<input type="checkbox">Python<input type="checkbox">C++<br><br>
国籍:<select>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
</select><br><br>
自我评价:<textarea rows="10" cols="20">默认值</textarea><br><br>
<input type="reset" value="重置为默认值"><br><br>
<input type="submit" value="提交表单"><br><br>
</form>
</body>
</html>

在这里插入图片描述

表单格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form>
<table align="center">
<h1 align="center">用户注册</h1>
<tr>
<td>
用户名:
</td>
<td>
<input type="text" value="默认值">
</td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="password">
</td>
</tr>
<tr>
<td>
确认密码:
</td>
<td>
<input type="password">
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<input type="radio" name="sex" checked="checked"><input type="radio" name="sex">
</td>
</tr>
<tr>
<td>
兴趣爱好:
</td>
<td>
<input type="checkbox" checked="checked">Java<input type="checkbox">Python<input type="checkbox">C++
</td>
</tr>
<tr>
<td>
国籍:
</td>
<td>
<select>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
</select><br><br>
</td>
</tr>
<tr>
<td>
自我评价:
</td>
<td>
<textarea rows="10" cols="20">默认值</textarea>
</td>
</tr>
<tr>
<td>
<input type="reset" value="重置为默认值">
</td>
<td align="center">
<input type="submit"value="提交表单">
</td>
</tr>

</table>
</form>
</body>
</html>

在这里插入图片描述

表单提交的细节

在这里插入图片描述
增加如下细节
在这里插入图片描述
提交后的网址
在这里插入图片描述
http://localhost:63342/test/127.0.0.1 action的属性值 也就是服务器地址
? 分隔符
action=login&sex=on 请求参数(表单信息)

表单提交的时候 数据没有发送给服务器的三种情况:

  • 表单没有name属性
  • 单选 复选 下拉列表中的option标签 都需要添加value属性 以便发送给服务器
  • 表单项不在提交的form标签中
    get请求的特点
  • 浏览器地址栏中的地址是 action属性[+?+请求参数]
  • 请求参数的格式是name=value&name=value
  • 不安全(密码能被看到)
  • 它有数据长度的限制
    在这里插入图片描述
    post请求的特点
  • 浏览器地址栏中的地址只有action属性 也就是服务器地址
  • 相对于get请求要安全
  • 理论上没有数据长度的限制
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="127.0.0.1" method="get">
<input type="hidden" name="action" value="login">
<table align="center">
<h1 align="center">用户注册</h1>
<tr>
<td>
用户名:
</td>
<td>
<input type="text" name="username" value="默认值">
</td>
</tr>
<tr>
<td>
密码:
</td>
<td>
<input type="password" name="password">
</td>
</tr>
<tr>
<td>
确认密码:
</td>
<td>
<input type="password" name="confirmedpassword">
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<input type="radio" name="sex" checked="checked"><input type="radio" name="sex">
</td>
</tr>
<tr>
<td>
兴趣爱好:
</td>
<td>
<input type="checkbox" name="habbit" checked="checked">Java<input type="checkbox">Python<input type="checkbox">C++
</td>
</tr>
<tr>
<td>
国籍:
</td>
<td>
<select name="country">
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
</select><br><br>
</td>
</tr>
<tr>
<td>
自我评价:
</td>
<td>
<textarea name="desc" rows="10" cols="20">默认值</textarea>
</td>
</tr>
<tr>
<td>
<input type="reset" value="重置为默认值">
</td>
<td align="center">
<input type="submit"value="提交表单">
</td>
</tr>

</table>
</form>
</body>
</html>

在这里插入图片描述
提交后:

在这里插入图片描述
此时我们的单选和复选发送的是on 不是我们想要的有效信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次提交
在这里插入图片描述

其他标签:div span和p

  • div标签默认独占一行
  • span标签 它的长度是封装数据的长度
  • p标签 段落标签 默认会在段落的上方或下方各空出一行来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>div1</div>
<div>div2</div>
<div>div3</div>
<span>span1</span>
<span>span2</span>
<p>p1</p>
<p>p2</p>
</body>
</html>

在这里插入图片描述

CSS介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CSS和HTML结合方式

在标签的style属性上设置

在这里插入图片描述
在这里插入图片描述
如果样式多了,代码量非常庞大,而且可读性差,且没有复用性。

在head标签中,使用style标签来定义需要的css样式。

1
2
3
xxx{
key:value value;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--style标签专门用来定义css代码-->
<style type="text/css">
div{
border: 1px solid red;
}

</style>
</head>
<body>
<div>my first css</div>
<div>my first css</div>
<span>my first css</span>
<span>my first css</span>
</body>
</html>

在这里插入图片描述
div都有效。
在这里插入图片描述
在这里插入图片描述
这样span也有效。实现了css复用。
缺点
在这里插入图片描述

导入css文件

在这里插入图片描述
在这里插入图片描述

CSS选择器

标签名选择器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

id选择器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class选择器

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--style标签专门用来定义css代码-->
<style type="text/css">
.class01{
border: 1px solid yellow;
color: blue;
font-size: 20px;
}

.class02{
border: 1px dashed red;
color: blue;
font-size: 20px;
}
</style>
</head>
<body>
<div class="class01">my first css</div>
<div class="class02">my first css</div>
<span class="class01">my first css</span>
<span class="class01">my first css</span>
</body>
</html>

在这里插入图片描述
id不可重复 class可重复
注意id是#开头 class是.开头

组合选择器

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--style标签专门用来定义css代码-->
<style type="text/css">
#id01,.class01{
border: 1px solid blue;
color: green;
font-size: 20px;
}

.class02{
border: 1px dashed red;
color: blue;
font-size: 20px;
}
</style>
</head>
<body>
<div id="id01">my first css</div>
<div class="class02">my first css</div>
<span class="class01">my first css</span>
<span class="class01">my first css</span>
</body>
</html>

在这里插入图片描述
这里就是组合选择器
在这里插入图片描述

CSS常用样式

颜色

在这里插入图片描述

宽度

在这里插入图片描述

高度

在这里插入图片描述

背景颜色

在这里插入图片描述

字体样式

在这里插入图片描述

边框

在这里插入图片描述

DIV居中

在这里插入图片描述

文本居中

在这里插入图片描述

超链接去下划线

在这里插入图片描述

表格细线

在这里插入图片描述

列表去除修饰

在这里插入图片描述

JavaScript介绍

在这里插入图片描述

JS与html结合

第一种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二种方式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

变量和数据类型

在这里插入图片描述

  • Undefined
  • Null
  • Boolean
  • Number
  • String
    在这里插入图片描述
    在这里插入图片描述

关系运算

在这里插入图片描述
在这里插入图片描述

逻辑运算

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

数组

在这里插入图片描述
在这里插入图片描述
只要我们通过下标赋值,最大的下标值就会自动给数组扩容,注意是赋值才会扩容,比如我们alert(arr[9])会弹出undefined,但是再输出数组长度还是原来的长度,没有被赋值的就是undefined。
在这里插入图片描述

函数定义

第一种方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有参函数定义,只需定义参数个数即可:
在这里插入图片描述
在这里插入图片描述
定义带有返回值的函数用return即可
在这里插入图片描述

第二种方式

函数不允许重载,重载会覆盖掉上一次的定义。

在这里插入图片描述

arguments对象

JavaScript 函数有一个名为 arguments 对象的内置对象。

arguments 对象包含函数调用时使用的参数数组。

这样,您就可以简单地使用函数来查找(例如)数字列表中的最高值:
在这里插入图片描述

在这里插入图片描述

JS中自定义对象

大括号方式定义

var 变量名 = {属性:value,属性:value};
在这里插入图片描述

在这里插入图片描述
对象中定义方法:
在这里插入图片描述

在这里插入图片描述

Object方式

var 变量 = new Object();

在这里插入图片描述
在这里插入图片描述

事件

在这里插入图片描述

事件的注册

在这里插入图片描述

静态注册

通过html标签的事件属性直接赋于事件响应后的代码。

动态注册

通过js代码得到标签的的dom对象,然后再通过dom对象.事件名 = function(){}。这种形式赋于事件响应后得到代码,叫动态注册。
在这里插入图片描述

onload事件

静态

浏览器解析完页面之后自动触发的事件。
在这里插入图片描述
打开后就这样显示弹窗

在这里插入图片描述
或者这么写
在这里插入图片描述

动态

动态事件注册是固定写法。
在这里插入图片描述
在这里插入图片描述

onclick事件

静态

在这里插入图片描述

在这里插入图片描述
点击button1即可弹出这个窗口。

动态

在这里插入图片描述
在这里插入图片描述

onblur事件

##静态
在这里插入图片描述

在这里插入图片描述

动态

在这里插入图片描述
在这里插入图片描述

onchange事件

静态

在这里插入图片描述
在这里插入图片描述

动态

在这里插入图片描述
在这里插入图片描述

onsubmit事件

静态

在这里插入图片描述
在这里插入图片描述

动态

在这里插入图片描述

在这里插入图片描述

阻止表单提交

return false;可以阻止表单提交
在这里插入图片描述
这里我们点静态注册提交 弹出不合法提示 同时不会提交表单
这里的return不能少 既实现了表单不提交 也实现了点击提交提示不合法的弹窗。
动态就方便很多 不需要return 一个函数 只需函数里return false即可
在这里插入图片描述
在这里插入图片描述
弹出不合法弹窗 并且表单没有提交。

Document对象

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。

HTML DOM 模型被结构化为对象树:
在这里插入图片描述
通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量:

  • JavaScript 能改变页面中的所有 HTML 元素
  • JavaScript 能改变页面中的所有 HTML 属性
  • JavaScript 能改变页面中的所有 CSS 样式
  • JavaScript 能删除已有的 HTML 元素和属性
  • JavaScript 能添加新的 HTML 元素和属性
  • JavaScript 能对页面中所有已有的 HTML 事件作出反应
  • JavaScript 能在页面中创建新的 HTML 事件

在这里插入图片描述

Document对象中的方法

在这里插入图片描述
在这里插入图片描述

验证用户名是否有效:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

正则表达式

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

两种常见的验证提示效果

第一种:文字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二种:图像

在这里插入图片描述

getElementsByName

在这里插入图片描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function checkAll() {
const hobbies = document.getElementsByName("hobby");
for (let i = 0; i < hobbies.length; i++) {
hobbies[i].checked = "checked";
}

}
function checkNone() {
const hobbies = document.getElementsByName("hobby");
for (let i = 0; i < hobbies.length; i++) {
hobbies[i].checked = "";
}
}
function reverse() {
const hobbies = document.getElementsByName("hobby");
for (let i = 0; i < hobbies.length; i++) {
hobbies[i].checked = !hobbies[i].checked;
}
}

</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" name="hobby" value="cpp">C++
<input type="checkbox" name="hobby" value="java">Java
<input type="checkbox" name="hobby" value="js">JavaScript
<br>
<button onclick="checkAll()">全选</button>
<button onclick="checkNone()">全不选</button>
<button onclick="reverse()">反选</button>
</body>
</html>

getElementsByTagName

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function checkAll() {
var inputs = document.getElementsByTagName("input");
for (let i = 0; i < inputs.length;i++){
inputs[i].checked = true;
}
}


</script>
</head>
<body>
兴趣爱好:
<input type="checkbox" value="cpp">C++
<input type="checkbox" value="java">Java
<input type="checkbox" value="js">JavaScript
<br>
<button onclick="checkAll()">全选</button>

</body>
</html>

三个查询方法使用注意事项

优先顺序
id>name>TagName
在这里插入图片描述
在这里插入图片描述

document对象补充说明

createElement和appendChild

在这里插入图片描述
在这里插入图片描述

注意body对象是现成的 直接调用
在这里插入图片描述

createTextNode

刚才的div可以用这个方法替代。
在这里插入图片描述


前端·基础
http://example.com/2021/06/13/HTML%C2%B7%E5%9F%BA%E7%A1%80/
作者
AHawkeye
发布于
2021年6月13日
许可协议