Javaweb学习笔记——(二)——————CSS概述,进入JavaScript
day02
day01内容回顾
	1.html操作思想
		**使用标签把要操作的数据包起来,通过修改标签的属性值来是实现标签内数据样式的变化
		***<font size="5"></font>
	2.图像标签
		<img src="图片的路径"/>
		**通过html访问本地图片,使用绝对路径,目前有问题。
	3.超链接标签
		<a href="" target="_blank" ></a>
	4.表格标签
		**技巧:数里面有多少行,每行里面有多少个单元格
		**<table></table>
			<tr> <td> <th>
	5.表单标签
		**<form></form>
			-aciton method enctype
			-method:get post
		**输入项
			***有name属性
			*普通输入项:type="text"
			*密码:password
			*单选:radio
				-name值相同
				-value值
			*复选框:checkbox
				-name值相同
				-value值
			*下拉框 select option
			*文本域:textarea
			*隐藏项:type="hidden"
			*文件:type="file"
			*提交按钮:type="submit"
			*重置按钮:reset
			*使用图片提交:<input type="image" src=""/>
			*普通按钮:type="button"
	6.div和span
		*div:自动换行
		*span:在一行显示
CSS
1.css的简介
	*css:(Cascading Style Sheets)层叠样式表
		**层叠:一层一层
		**样式表:很多的属性和属性值
	*是页面显示效果更加好
	*css将网页内容和显示样式进行分离,提高了显示功能。
2.css和html的结合方式(四种结合方式)
	(1)在每个html标签上面都有一个属性 style,吧css和html结合在一起
		-<div style="background-color: red; color: green">属性样式</div>
	(2)使用html的一个标签实现<style type="text/css"></style>标签实现,写在head里面
		*格式:<style type="text/css">
			css代码; 
		</style>
		*代码:<style type="text/css">
			div {
				background-color: blue;
				color: red;
			}
		</style>
	(3)在style标签里面 使用语句
		@import url(css文件的路径);
		-第一步,创建一个css文件
			<style type="text/css">
				@import url(div.css);
			</style>
	(4)使用头标签,引入外部css文件
		-第一步,创建一个css文件
	 	-<link rel="stylesheet" type="text/css" href="css文件的路径"/>
	 ***第三种结合方式,缺点:在某些浏览器下不起作用,一般使用第四种方式
	 ***优先级
	 	由上到下,由外到内。优先级由低到高。
	 	***后加载的优先级高的
	 ***格式 选择器名称{ 属性名:属性值; 属性名:属性值;...}
3.css的基本选择器
	**要对哪个标签里面的数据进行操作
		(1)标签选择器
			*使用标签名作为选择器的名称
				div {
						background-color:gray;
						color:white;
				}
		(2)class选择器
			*每个html标签都有一个属性 class
			-<div class="haha">aaaaaaaa</div>
			-.haha{
					background-color:orange;
			}
		(3)id选择器
			*每个html标签上面有一个属性id
			-<div id="hehe">bbbbbbbb</div>
			-#hehe{
					background-color:#333300;
			}
	**选择器的优先级
		style > id选择器 > class选择器 > 标签选择器
4.css的扩展选择器
	(1)关联选择器
		*<div><p>wwwwwwwwwww</p></div>
		*设置div标签里面的p标签的样式,嵌套标签里面的样式
		* 	div p {
					background-color:green;
			}
	(2)组合选择器
		*<div>11111</div>
		<p>2222222</p>
		*吧div和p标签设置成相同的样式,吧不同的标签设置成相同的样式
		* div,p {
				background-color:green;
			}
	(3)伪元素选择器(了解)
		*css里面提供了一些定义好的样式,可以拿过来使用
		*比如超链接
			**超链接的状态
			原始状态 鼠标放上去的状态 点击的状态 点击之后的状态
			:link     :hover      :active    :visited
			**记忆的方法
				lv ha
5.css的盒子模型
	**在进行布局前需要把数据封装到一块一块的区域内(div)
	(1)边框
		border
		border:统一设置
		上:border-top
		下:border-bottom
		左:border-left
		右:border-right
	(2)内边距:
		padding:统一设置
		上下左右:
		上:padding-top
		下:padding-bottom
		左:padding-left
		右:padding-right
	(3)外边距
		margin:统一设置
		上下左右:
		上:margin-top
		下:margin-bottom
		左:margin-left
		右:margin-right
6.css的布局的漂浮
	float:
		**属性值
		left:文本流向对象的右边
		right:文本流向对象的左边
7.css的布局的定位
	position:
		**属性值:
			-absolute:
				***将对象从文档流中拖出
				***可以使用top、bottom等属性进行绝对定位
			-relative
				***不会把对象从文档流中拖出
				***可以使用top,bottom等属性进行定位
8.案例,图文混排案例
	**图片和文字一起显示
	<div style="width: 100px; height: 80px">
		<div style="position: relative;float: left;">
			<img src="a.jpg" style="width: 50px;height: 50px">
		</div>
		<div>
			将对象从文档流中拖出,可以使用top、bottom等属性进行绝对定位
		</div>
	</div>
9.案例 图像签名:
	**在图片上面显示文字
	<div>
		<div>
			<img src="a.jpg">
		</div>
		<div style="position: absolute; top: 10px; left: 20px; color: red">
			这是一张图片
		</div>
	</div>
10.上午内容总结
	1.css和html的四种结合方式(********)
	2.css的基本选择器(*******)
		*标签选择器 使用标签名
		*class选择器 .名称
		*id选择器 #名称
	3.css的扩展选择器(了解)
		*关联选择器
			-设置嵌套标签的样式 div p {}
		*组合选择器
			-不同的标签具有相同的样式 div,p {}
		*伪元素选择器
			*超链接的状态
				-原始:link
				-悬停:hover
				-点击:active
				-点击之后:visited
	4.盒子模型(了解)
		*边框 border:2px solid red;
		上下左右 border-top border-bottom border-left border-right
		*内边距 padding:20px
		上下左右 
		*内边距
		上下左右
		*对数据进行操作,需要把数据放在一个区域里面(div)
	5.布局的漂浮(了解)
		float
			-left:后面的div到右边
			-right:后面的div到左边
	6.布局的定位
		position 
			-absolute:
			***将对象从文档流中拖出
			***可以使用top,bottom等属性进行绝对定位
		relative
			***不会把对象从文档流中拖出
			***可以使用top,bottom等属性进行定位
1.JavaScript的简介
 	*是基于对象和事件驱动的语言,应用于客户端。
	 	-基于对象:
	 		**提供好了对象,可以直接拿过来使用
	 	-事件驱动:
	 		**html做网站静态效果,javascript动态效果
	 	-客户端:专门指的是浏览器
 	*js的特点
 		(1)交互性
 			-信息的动态交互
 		(2)安全性
 			-js不能访问本地磁盘的文件
 		(3)跨平台性
 			-java里面的跨平台性-虚拟机
 			-只要能够支持js的浏览器,都能运行
 	*JavaScript和java的区别(雷锋和雷峰塔:毫无关系)
 		(1)Java是sun公司,现在的oracle公司;js是网景公司
 		(2)JavaScript 是基于对象的,java是面向对象的
 		(3)java是强类型的语言,js是弱类型的语言
 			-比如java里面的int i = 10;
 			-js: var i = 10; var m = "10";
 		(4)JavaScript只需要解析就可以执行,而java需要先编译成字节码文件,在执行。
 	*JavaScript的组成(以下称js)
 		三部分组成
 			(1)ECMScript
 				-ECMA:欧洲计算机协会
 				-有ECMA组织制定的js的语法,语句......
 			
 			(2)BOM
 				-broswer object model:浏览对象模型
 			(3)DOM
 				-document object model:文档对象模型
2.js和html的结合方式(两种)
	(第一种):
		-使用一个标签<script type="text/javascript">  	js代码	</script>
	(第二种):
		-使用script标签,引入一个外部的js文件
		***创建一个js文件,写js代码
		-<script type="text/javascript" src="1.js"/>
	**使用第二种方式的时候,就不要再script标签中写js代码了,因为不会执行
3.js的原始类型和声明变量
	**java的基本数据类型 	byte short int long float double char boolean
	**定义变量 都使用关键字 var
	**js的原始类型(五个)
		-string:字符串
			*** var str = "abc";
		-number:数字类型
			*** var m = 123;
		-boolean:true和false
			*** var flag = false;
		-null
			*** var date = new Date();
			*** 获取对象的引用,null表示对象引用为空,所有的对象的引用也是Object
		-undifined 
			***定义一个变量,没有赋值
			*** var aa;
	** typeof(); 通过这个方法来查看当前变量的数据类型
4.js的语句
	-java里面的语句:
		**if判断:
		**switch语句:
		**循环 for while do...while
	-js里面的这些语句
		**if判断语句
		**switch语句
			-java里面支持数据类型 string支持吗? 支持
			-js里面都支持
			-		 var b = 6;
					 switch(b){
					 	case 3:
					 	alert("3");
					 	break;
					 	case 6:
					 	alert("6");
					 	break;
					 	default:
					 	alert("other");
					 }
		**循环语句 for while do-while
			-while循环
			**** var i = 5;
			while(i < 9){
					alert(i);
					i++;
				}
			-for循环
			*** for(var i=0; i < 5; i++){
					alert(i);
				}
		** i++ ++i 和java里面一样
5.js的运算符
	** +=  : x+=y;  ====>  x=x+y;
	**js里面不区分整数和小数
		var j = 123;
		alert(j/1000*1000);     //在java里面得到的结果是0
								//在js里面的结果是123 		123/1000 = 0.123 * 1000 = 123
	**字符串的相加和相减的操作
		var str = "123";
		**如果相加的时候,做的字符串连接
		**如果相减,做的是相减的运算
		alert(str+1);  //1231
		alert(str-1);	//122
		alert(1+str);	//1123
		alert(1-str);	//-122
		*提示NaN:表示不是一个数字
	**boolean类型也可以进相加相减操作
		var flag = true;  //true表示为1
		alert(flag+1);   	//2
		var flag2 = false;	//false表示0
		alert(flag2+1) 	//1
	** == 和 === 区别
		**做判断
		** == 比较的只有值
		** === 比较的是值和数据类型
	** 引入知识
		直接向页面输出的语句(可以吧内容显示在页面上)
		* document.write("aaa");
		document.write("<hr/>");
		** 可以向页面输出变量,固定值和html代码
6.实现99乘法表(输出在页面上)
	-	document.write("<table border='1' bordercolor='red'>");
		for (var i = 1; i <= 9; i++) {
			document.write("<tr>");
			for (var j = 1; j <= i; j++) {
				document.write("<td>");
				document.write(j+" * "+i+" = "+(i*j));
				document.write("</td>");
			}
			document.write("</tr>");
		}
		document.write("</table>");
	-document.write()里面是双引号,如果设置标签的属性需要使用单引号
	-document.write()可以输出变量,还可以输出html代码
7.js的数组
	*什么是数组
		-使用变量,var m = 10;
		-java里面的数组定义 int[] arr={1, 2, 3};
	*定义方式(三种)
		第一种:var arr = [1,2,3]; var arr = [1, "4", true];
		第二种:var arr1 = new Array(5); //定义一个数组,数组的长度是5
				arr1[0] = "1";
		第三种:使用内置对象Array
			var arr2 = new Array(6, 5, 7); //定义一个数组,数组里面的元素是6,5,7
	*数组里面有一个属性:length:获取到数组的长度
	*数组可以存放不同的数据类型的数据
8.js的函数
	**在java里面定义方法
		public返回类型void /int 方法名(参数列表){
			方法体;
			返回值;
		}
		public int add(int a, int b){
			int sum = a + b;
			return sum;
		}
	**在js里面定义函数(方法)有三种方式
		***函数参数列表里面,不需要写var,直接写参数
		第一种方式:
			***使用到一个关键字 function
			***function 方法名 (参数列表){
				方法体;
				返回值可有可无("qqqqq");
			}
			//调用方法
			//test();
			//定义一个有参数的方法 实现两个数的相加
			function add1(a, b){
				var sum = a + b;
				alert(sum);
			}
			//add1(2, 3);
			//有返回值的效果
			function add2(a, b, c){
				var sum1 = a+b+c;
				return sum1;
			}
			alert(add2(3,5,6));
		第二种方式:
			***匿名函数	
				var add = function(参数列表){
					方法体和返回值;	
				}
			***代码
			//第二种方式创建函数
			var add3 = function(m, n){
				alert(m+n);
			}
			//调用方法
			add3(5, 6);
		第三种方式:(用的少,了解)
			*** 使用到js里面的内置对象 Function
				var add = new Funciton("参数列表","方法体和返回值");
9.js的全局变量和局部变量
	**全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用
		-在方法外部使用,
	**局部变量:在方法内部定义一个变量,只能在方法内部使用
		-如果在方法外部调用这个变量,提示出错
		-SCRIPT5009:"nn"未定义
		12.js的局部变量.html (17,3)
	**ie自带了一个调试工具,ie8及其以上的版本中,键盘上F12,在页面下方出现一个条
10.script标签
	*建议把script标签放在</body>后面
	*如果现在有这样的一个需求
		在js里面需要获取input里面的值,如果把script标签放在head里面会出现问题。
		html解析是从上到下解析,script标签放到的是head里面,直接在里面去input里面的值,因为页面还没有解析到input那一行,肯定取不到。
11.js的重载
	*什么是重载?方法名相同,参数列表不同
		-Java里面有重载。
	*js里面是否有重载?
12.今天内容的总结
 	*css 
 		**css和html的四种结合方式
 		**css的基本选择器
 			*标签选择器 div {css代码}
 			*class选择器 .名称{}
 			*id选择器 #名称{}
 		**css的扩展选择器
 			*关联选择器
 				***嵌套标签的样式的设置
 			*组合选择器
 				***不同标签设置相同的样式
 			*伪元素选择器
 				***a标签的状态
 					lv ha
 		**盒子模型
 			*边框 border
 				上下左右
 			*内边距 padding
 				上下左右
 			*外边距 margin
 				上下左右
 		**漂浮
 			float:left	right
 		**定位
 			position:absolute	relative
 	*JavaScript(*************)
 		**什么是JavaScript
 			-基于对象和事件驱动的语言,应用于客户端
 			-特点:
 				交互性	安全性	跨平台性
 			-JavaScript和java区别
 			-组成(3部分)
 				*ECMAScript
 				*BOM
 				*DOM
 		**js和html的结合方式(两种)
 			第一种 <script type="text/javascript">js代码;</script>
 			第二种 <script type="text/javascript" src="js的路径"></script>
 		**js的数据类型
 			*五种原始类型
 				string number boolean null undifined
 			*定义变量使用 var
 		**js的语句
 			*if
 			*switch
 			*for while do...while
 		**js的运算符
 			*字符串的操作
 				***字符串相加:连接
 				***字符串相减:执行相减运算
 			*boolean类型相加
 				true:1
 				false:0
 			*==和===区别
 				**==:判断值
 				**===:判断值和类型
 		**js的数组
 			三种定义方式
 				**var arr = [1, 2, "3"];
 				**var arr1 = new Array(9);
 				**var arr2 = new Array(1, 2, 3);
 				**属性 length:数组的长度
 		
 		**js的函数
 			*** function add(a,b) {方法体和返回值;}
 			*** var add1 = function(m,n){方法体和返回值;};
 			*** var add2 = function("a,b", "方法体和返回值");
 			****不要忘记调用,不然没有作用
 		**js的全局变量和局部变量
 			**全局变量:在页面中任何js的部分,都可以使用
 			**局部变量:在方法内部定义一个变量,这个变量只能在方法内部使用
 		**script标签位置
 			**建议放在</body>后面
 		**js的重载
 			以Java的方法和JS的函数来比较一下:
			Java中:通过方法签名来唯一确定一个方法。所谓方法签名包括:方法名、参数类型和参数顺序、参数个数这几个要素。所以,如果两个方法名称相同,但是只要其他要素(例如参数类型、参数个数)不同,编译器就会认为是不同方法。从而可以存在同名的不同方法,导致了重载现象。
			JavaScript:函数(或对象方法)完全靠函数名称唯一确定,JS不将参数列表作为区分函数的依据。更关键的是,在JS中,函数是作为一种特殊对象类型存在的,函数的名字只是一个普通的变量,本质与var a = 1中的变量a没什么区别。所以如果你先后定义了两个同名函数,实际上相当于先后将两个函数对象绑定到了同一个变量上,所以后者必然覆盖前者,不会共存,也自然不存在重载了。
			所以,JS中的函数虽然也叫函数,但是别忘了它本质上还是一种对象,只不过是一种比较特殊的具有可调用特征的对象罢了。
			JS中的函数跟很多其他语言中的函数或方法不可同日而语。
			当然,JS完全可以设计成支持重载,但是为什么不支持呢?我觉得,可能跟JS一开始的目标就是要设计成一种简单的、动态类型的语言有关。增加了重载,就没那么简单了,而且参数还不能动态传递了。
Javaweb学习笔记——(二)——————CSS概述,进入JavaScript的更多相关文章
- JavaWeb学习笔记二 Http协议和Tomcat服务器
		Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol),是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为 ... 
- Webpack4 学习笔记二 CSS模块转换
		前言 此内容是个人学习笔记,以便日后翻阅.非教程,如有错误还请指出 webpack 打包css模块 webpack是js模块打包器, 如果在入口文件引入css文件或其它的less.sass等文件,需要 ... 
- Nagios学习笔记二:Nagios概述
		1.简介 Nagios是插件式的结构,它本身没有任何监控功能,所有的监控都是通过插件进行的,因此其是高度模块化和富于弹性的.Nagios监控的对象可分为两类:主机和服务.主机通常指的是物理主机,如服务 ... 
- JavaWeb学习笔记总结 目录篇
		JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ... 
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
		amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ... 
- amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules
		amazeui学习笔记二(进阶开发3)--HTML/CSS规范Rules 一.总结 1.am:以 am 为命名空间 2.模块状态: {命名空间}-{模块名}-{状态描述} 3.子模块: {命名空间}- ... 
- amazeui学习笔记二(进阶开发1)--项目结构structure
		amazeui学习笔记二(进阶开发1)--项目结构structure 一.总结 1.项目结构:是说的amazeui在github上面的项目结构,二次开发amazeui用 二.项目结构structure ... 
- javaweb学习笔记整理补课
		javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ... 
- 微信小程序学习笔记二  数据绑定 + 事件绑定
		微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ... 
- AJax 学习笔记二(onreadystatechange的作用)
		AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ... 
随机推荐
- RSS & Server-Sent Events & HTML5 Notification API
			RSS Rich Site Summary https://en.wikipedia.org/wiki/RSS https://www.lifewire.com/what-is-rss-2483592 ... 
- js簡介
			js是腳本語言: js適用於服務器.pc.平板電腦.智能手機: js是最流行的編程語言,使用與html和前段: js是一種輕量級編程語言: js能被所有的現代瀏覽器執行: js和java是完全不同的編 ... 
- LODOP、C-LODOP注册号的区别
			LODOP是一款免费的web打印控件,预览打印后无水印,是免费的,直接打印会在纸张下方有个水印“本页由XXX试用版输出”,通常商用打印较多,常用直接打印,这种时候可以购买注册号去水印. LODOP注册 ... 
- \r\n
			转载自http://www.studyofnet.com/news/285.html '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格,通常敲一个回车键,即是回车,又是换行(\r\ ... 
- python----内置函数2与匿名函数
			1.迭代器生成器相关 range:创建一个可迭代对象,一般与for混合使用,可设置步长. for i in range(0,10,2): #步长2范围为0-10不包括10 print(i) # 0 2 ... 
- 【题解】ID分配
			题目描述 您正在处理要为每个客户端分配唯一ID的特定系统的后端.但是,系统是分布式的,并且有许多组件,每个组件都必须能够为客户端分配ID.换句话说,您希望每个组件都使用尽可能少的组件之间的通信来分配I ... 
- BZOJ1906树上的蚂蚁&BZOJ3700发展城市——RMQ求LCA+树链的交
			题目描述 众所周知,Hzwer学长是一名高富帅,他打算投入巨资发展一些小城市. Hzwer打算在城市中开N个宾馆,由于Hzwer非常壕,所以宾馆必须建在空中,但是这样就必须建立宾馆之间的连接通道.机智 ... 
- idea 项目打包发布
			clean install -Dmaven.test.skip=true -pl 项目名(maven为准) -am -amd 
- KEIL中函数定义存在但go to definition却不跳转的原因
			可能是 go to definition 函数的地方,被包含在一个未使能的条件编译宏内部,因为这样KEIL在编译时,就未将该条件编译宏内部的信息编译入工程的Browse Information. 
- 洛谷 P3989 [SHOI2013]阶乘字符串 解题报告
			P3989 [SHOI2013]阶乘字符串 题目描述 给定一个由前\(n(\le 26)\)个小写字母组成的串\(S(|S|\le 450)\).串\(S\)是阶乘字符串当且仅当前 \(n\) 个小写 ... 
