HTML

一、HTML

1、系统结构

image-20221122203416805

image-20221122203702001

image-20221122204155052

2、HTML的介绍,开发与运行

image-20221122204602891

image-20221122204924867

3、HTML的标签

3.1 基本标签

image-20221122211118146

image-20221122211430907

image-20221122211719397

image-20221122211849546

image-20221122212727595

3.2 表格标签

​ "table"标签用来插入表格;"tr"标签用来插入表格中的一行,这个标签在"table"标签里面;"td"标签是用来创建单元格的,在"tr"标签内

image-20221122213356750

单元格合并

​ "rowspan"是"td"标签里的属性,用来对单元格行合并

image-20221122214034257

列合并

​ "colspan"是"td"标签里的属性,对单元格进行列合并的。

image-20221122214111524

th标签

image-20221122214433704

表格三部分

image-20221122214836438

3.3 背景颜色和图片

背景颜色和背景图片都是嵌入到浏览器背景当中的

​ "body"标签里的"bgcolor = "颜色""属性,可以用来设置网页的背景颜色

​ "background"属性,用来设置网页的背景图片

image-20221125140711503

图片

​ "img"标签用来插入一个图片元素,此标签可以没有结束标志

image-20221125141232208

3.4 超链接(重点)

"a"标签用来插入超链接

image-20221125142103100

"href"属性

image-20221125143921327

请求路径

image-20221125144104451

image-20221125144329605

内部窗体

image-20221125153201308

"a"标签里面的target属性

image-20221125153239040

3.5 列表和表单

3.5.1 列表

​ "ol"标签是有序列表,"ul"标签是无序列表,"li"标签是列表里的字段,包含在"ol"或者"ul"标签内

代码如下:

  1. 数学书
    • 第一章
    • 第二章
    • 第三章
  2. 英语书
  3. 语文书

  • 中国
    • 湖南省
    • 广东省
    • 广西省
  • 葡萄牙
  • 韩国

3.5.2 表单(重点)

​ 什么是表单?

image-20221125162747451

image-20221125163203667

image-20221125163317540

表单标签

​ "form"标签用来创建表单,"method"是属性,用来指定表单的提交方式

​ "input"标签是表单中非常重要的输入域标签,"type"是属性,只有当type的属性是"submit"的时候这个按钮才有提交的功能

image-20221125163715729

image-20221125163915950

"input"标签

​ 想要提交的数据里必须要有"name"属性,否则是无法提交的;并且只有需要提交的数据才要写"name"属性

image-20221127191624344

image-20221127192504634

image-20221127191652599

image-20221127192005718

代码如下:

表单

user login


username:  
password:  

单选按钮

image-20221127195319691

下拉列表

image-20221127195413834

多选按钮

image-20221127195441788

文本域

image-20221127195505877

代码如下:

注册
用户名:
密码:
性别 保密
学历:
兴趣: 奖励 运动 努力
简介:

隐藏域控件

image-20221128141712830

disabled和readonly属性

image-20221128141959332

maxlength属性

image-20221128142154351

HTML中的id属性

image-20221128150010145

image-20221128150057049

div和span标签

image-20221128151004787

二、CSS

1、概述

image-20221128151904400

2、HTML中嵌入CSS样式的三种方式

2.1 第一种方式:内联定义

image-20221128152617483

代码如下

嵌入CSS的第一种方式

2.2 第二种方式:定义内部样式块对象

"style"标签就是一个样式块对象,在这个标签里面使用选择器定义样式

image-20221128160457716

"id选择器的使用只能将样式作用于某一个节点"

格式:#id名{

}

代码如下:

image-20221128161500093

标签选择器的使用会作用于当前页面所有选择的标签,以下代码使用的标签选择器就会作用于所有的input标签

格式:标签名{

}

代码如下:

image-20221128165457464

类选择器的使用会作用于当前页面所有类的标签,HTML中每一个标签/节点都具有"class"属性用来指定标签类名

格式:.类名{

}

代码如下

image-20221128170600499

注意:三种选择器的优先级:

id选择器 > 类选择器 > 标签选择器

2.3 第三种方式:引入外部独立的css样式表文件(使用较多)

​ 在实际开发当中,这种方式使用较多。因为这种方式可以降低维护成本,修改的时候只需要改css文件就行

​ 代码如下:

​ "link"标签用来引入外部的css样式表文件

image-20221128191945520

image-20221128191958947

3、常见的CSS样式:

image-20221128195055760

边框:"border"属性

隐藏:"display: none;"隐藏对象

字体:"font"属性

文本装饰:"text-decoration"属性

列表:"list"属性

设置鼠标悬停效果:

image-20221128200327173

布局:"float"属性

定位:"position"属性

三、JavaScript

1、概述

image-20221128203033783

image-20221128203144990

image-20221128203319445

image-20221128203835778

2、嵌入JS代码的方式

2.1 嵌入js代码的第一种方式:在事件句柄中提供JS代码

image-20221129190258515

image-20221129190838314

代码如下:

2.2 嵌入JS代码的第二种方式:脚本块

image-20221129192027424

2.3 嵌入JS代码的第三种方式: 引入外部独立的JS文件

image-20221129192526847

image-20221129192910475

3、变量

定义变量的语法格式:var 变量名;

赋值:变量名 = 值;

image-20221129193458210

image-20221203225901305

image-20221129194219262

image-20221129194241844

全局变量和局部变量

image-20221203232343360

image-20221203232555429

注意:

image-20221203233051247

4、函数

定义函数:

image-20221203230737560

调用函数:

image-20221203231036590

​ 1. 在"script"标签里直接输入函数名,例:

​ sum(1,2);

​ 2.在事件句柄中提供JS代码,例:

<input type="button" value="求和" onclick="sum(3,8)"/>

image-20221129201851609

函数的另一种写法:

image-20221129203850375

注意:

image-20221203232030497

5、数据类型

5.1 JS中的数据类型介绍

image-20221203234142268

image-20221203234511370

5.2 undefined类型

image-20221203235419566

5.3 Number类型

Number类型和NaN

image-20221204001101571

image-20221204001140070

parseInt()函数、parseFloat()函数、Math.ceil()函数

image-20221204001541857

无穷大和isNaN函数

image-20221204000550893

5.4 Boolean类型

image-20221204212451960

Boolean()的特点:"有"就转换成true,"没有"就转换成false

6、根据id获取元素,获取和修改元素里的内容(重点)

6.1 根据id获取元素

image-20221130102057349

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script>
		function getIdEle(){
            //获取div对象
			var divId = document.getElementById("mydiv")
            //将div对象输出到控制台
			console.log(divId);
			
           
			var inputId = document.getElementById("myinput")
			console.log(inputId)
		}
	</script>
	<body>
		<div id="mydiv">我的div</div>
		<input type="text" id="myinput">
		<input type="button" value="获取节点对象" onclick="getIdEle()">
	</body>
</html>

6.2 获取和修改元素里的内容

innerHTML属性

​ 在获取到节点对象之后,通过这个属性可以获取或修改节点元素里的内容

image-20221130104001226

代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function getId(){
                //获取div对象
				var div1 = document.getElementById("mydiv1")
				var div2 = document.getElementById("mydiv2")
                
                //修改div对象的值
				div1.innerHTML = "hello world!"
				div2.innerHTML = div1.innerHTML
			}
		</script>
		<div id="mydiv1">hello zhonglei!</div>
		<div id="mydiv2"></div>
		<input type="button" value="设置节点对象" onclick="getId()">
	</body>
</html>

innerHTML和innerText的区别

image-20221130110725164

获取文本框里属性"value"的值

image-20221130113244912

代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			function getusername(){
				//获取input对象
				var inputObj = document.getElementById("username")
				
				//获取input对象里的value
				var inputValue = inputObj.value
				
				//修改input对象里的type
				inputObj.type = "checkbox"
				
				//弹窗
				alert(inputValue)
			}
		</script>
		用户名<input type="text" id="username"/>
		<input type="button" value="获取用户名" onclick="getusername()">
	</body>
</html>

6.3 全选和取消全选

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body onload="bundClick()">
		<script>
			
			//全选函数
			function allCheck(){
				//获取全选按钮对象
				var checkAll = document.getElementById("checkAll")
				
				//获取所有的多选按钮对象,返回的是一个数组
				var checks = document.getElementsByName("hobby")
				
				//循环
				for (var i = 0; i < checks.length; i++) {
					checks[i].checked = checkAll.checked
				}
			}
			
			//将所有多选按钮都绑定鼠标单击事件
			function bundClick(){
				//获取所有多选按钮
				var checks = document.getElementsByName("hobby")
				
				//循环,绑定每一个多选按钮
				for (var i = 0; i < checks.length; i++) {
					checks[i].onclick = function(){
						//获取所有多选按钮的数量
						var count = checks.length
						
						//统计被选中的多选按钮的数量
						var  checkCount = 0
						for (var i = 0; i < checks.length; i++) {
							if(checks[i].checked)
								checkCount++
						}
						
						//判断被选中的数量是否和总数相等
						document.getElementById("checkAll").checked = (count == checkCount)
					}
				}
			}
			
		</script>
		<input type="checkbox" name="firstChk" id="checkAll" onclick="allCheck()">全选<br>
		<input type="checkbox" name="hobby"/>奖励<br>
		<input type="checkbox" name="hobby"/>努力<br>
		<input type="checkbox" name="hobby"/>运动<br>
		<input type="checkbox" name="hobby"/>学习<br>
		<input type="checkbox" name="hobby"/>游戏<br>
		<input type="checkbox" name="hobby"/>电影<br>
	</body>
</html>

6.4 表单验证

image-20221201211832385

image-20221201212015273

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<script>
		
		//检查用户名是否合法
		function check(username){
			//获取span标签,错误提示信息都输出在这个标签里面
			var tips = document.getElementById("mirror_info")
			
			//开始检查用户名,判断用户名是否为空
			if(username == ""){
				tips.innerHTML = "用户名不能为空"
			}else{
				//用户名不为空,判断长度是否合法
				if(username.length < 6 || username.length > 14){
					tips.innerHTML = "用户名必须在[6 - 14]位之间"
				}else{
					//长度合法,继续判断用户名内容是否合法
					var i;
					for (i = 0; i < username.length; i++) {
						if((username[i] >= '0' && username[i] <= '9') || 
						((username[i] >= 'a' && username[i] <= 'z') || (username[i] >= 'A' && username[i] <= 'Z'))){
							
						}else{
							break
						}
					}
					if(i == username.length){
						alert("用户名合法")
					}else{
						tips.innerHTML = "用户名只能由数字和字母组成"
					}
				}
			}
		}
		
		function clear_check(){
			var tips = document.getElementById("mirror_info")
			tips.innerHTML = ""
		}
		
		function mySubmit(form){
			let formData = new FormData(form)
			let username = formData.get("username")
			//开始检查用户名,判断用户名是否为空
			if(username == ""){
				alert("用户名不能为空")
				return false;
			}else{
				//用户名不为空,判断长度是否合法
				if(username.length < 6 || username.length > 14){
					alert("用户名必须在[6 - 14]位之间")
					return false;
				}else{
					//长度合法,继续判断用户名内容是否合法
					var i;
					for (i = 0; i < username.length; i++) {
						if((username[i] >= '0' && username[i] <= '9') || 
						((username[i] >= 'a' && username[i] <= 'z') || (username[i] >= 'A' && username[i] <= 'Z'))){
							
						}else{
							break
						}
					}
					if(i != username.length){
						alert("用户名只能由数字和字母组成")
						return false;
					}else{
						return true;
					}
				}
			}
		}
	</script>
	<body>
		<form action="http://localhost:8080/zhong/lei" method="get" onsubmit="return mySubmit(this)">
		用户名:<input type="text" name="username" id="user_name" onblur="check(this.value)" onfocus="clear_check()">
		<span id="mirror_info" style="color:red; font-size:12px;"></span>
		<br>
		<input type="submit" value="保存">
		</form>
	</body>
</html>

image-20221129204241910

posted @ 2022-11-26 00:58  钟望曦  阅读(415)  评论(0)    收藏  举报