Web--网页布局、JavaScript

一、网页布局

网页布局一般分为:网页头部、网页内容部分、网页尾部
html5新增的语义化标签:语义化标签可以让页面的结构更清晰,主要是给搜索引擎去使用。一般低版本浏览器不支持,目前应用最多的是在移动端。
header、nav、articel、section、sidebar、footer,这些都可以当做div来使用。
(以下代码是一个简单布局,就是配色有点丑)

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>..</title>
	<link rel="stylesheet" type="text/css" href="./mi.css">
</head>
<body>
	<!-- 头部开始 -->
	<div class="header">
		<div class="header-top">
			<div class="center header-top-content"></div>
		</div>
		<div class="center nav"></div>
	</div>
	<!-- 头部结束 -->
	<!-- 主体部分开始 -->
	<div class="min">
		<div class="center banner"></div>
		<div class="center banner-item"></div>
	</div>
	<!-- minend -->
	<!-- footer start -->
	<div class="footer"></div>
	<!-- endfooter -->
</body>
</html>

二、css3圆角和阴影

好玩的小东西

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
		.item{
			width:200px;
			height: 200px;
			border: 1px solid red;
			border-radius: 100px;
			/*从左上角开始,顺时针*/
			/*border-radius: 10px 30px 50px 70px;*/

			/*阴影:
				水平便宜位置 垂直偏移位置 模糊范围 扩散程度 阴影颜色*/
			box-shadow: 3px 3px 50px 10px gold inset;

			/*过度属性*/
			transition: all 3s;
		}
		.item:hover{
			border-radius: 0px;
			/*旋转*/
			transform: rotate(150deg);
			/*位移*/
			transform: translate(100px,100px);
			/*缩放*/
			transform: scale(.3);
		}
	</style>
</head>
<body>
	<div class="item"></div>
</body>
</html>

(其实也就是一个圆)

三、JavaScript

1、JavaScript简介

JavaScript是一个客户端脚本语言,是运行在客户端,由浏览器内核来去解析。
BOM:浏览器对象模型
DOM:文档对象模型
ECMAScript:JS规范

2、JavaScript特点:

弱类型语言、解释型语言、基于对象、安全性高

3、JavaScript的三种引入方式

行内式(行间事件):不建议使用,安全性能低
内嵌式:将代码写在script标签之间
外链式:将代码写在.js文件中,通过<script src=’’>调用

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>js引入方式</title>
</head>
<body>
	<!-- 行间事件 -->
	<!-- alert 弹窗 -->
	<button onclick="alert('哈哈哈')">点我试一试</button>
	<a href="JavaScript:alert('好的')">来吧</a>
	<a href="JavaScript:;" onclick="alert('等你')">马上到</a>
	<!-- 嵌入式
			通过script标签将js代码嵌入到html文档
	 -->
	 <script type="text/javascript">
	 		alert('ok');
	 </script>

	 <!-- 外链式
				通过script标签的src属性引入外部的js文件
			如果使用script引入了外部的js文件,那么此标签的js代码将不会再执行。
	  -->
	  <script src="./1.js">
	  		// 没用了
	  		alert('执行了');
	  </script>

	  <!-- 常用js的输出方式 -->
	  <script type="text/javascript">
	  	// alert('将信息以弹窗的形式输出,会阻塞程序的执行')
	  	// console.log('将信息输出到浏览器的控制台');
	  	document.write('将信息输出到网页当中');
	  </script>
</body>
</html>

4、JavaScript的输出方式

(1)alert(‘将信息以弹窗的形式输出,会阻塞程序的执行’);
(2)console.log(‘将信息输出到浏览器的控制台’);
(3)document.write(‘将信息输出到网页当中’);

5、JavaScript的变量

变量命名规范:
(1)由数字、字母、下划线组成
(2)不能以数字开头
(3)尽量要有意义
(4)不能使用关键字
(5)严格区分大小写

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>变量</title>
</head>
<body>
	<script type="text/javascript">
		var a = 1;
		console.log(a);

		var b = 1,c = 2;
		console.log(b,c);

		d = '我在这里等你'
		console.log(d);

		/*
		每一行语句的结束 使用;结尾
		 */
		// 单行注释
	</script>
</body>
</html>

6、JavaScript的基本数据类型

(1)数值类型:数字、小数、NaN
(2)字符串:用引号引起来的都是字符串
(3)布尔类型:true、false
(4)对象类型:var obj={key:val, key:val}
         数组:var arr=[1, 2, 3]
(5)函数类型:function 函数名(形参){代码段}
(6)未定义:undefined
检测数据类型的方法typeof():
检测一个数据是否是由指定的系统实例构造而成instanceof
注意:基本数据类型必须使用new,实例化出来的结果才能检测成功

var num1 = new Number(123);
console.log(num1 instanceof Number);
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>数据类型</title>
</head>
<body>
	<script type="text/javascript">
		// 数值类型 number
		var num1 = 1;
		var num2 = 1.2;
		//监测数据类型 
		var res = typeof(num1);
		console.log(res);

		//字符串 string
		var str1 = '123';
		var str2 = '1223';
		var str3 = '我是你"小仙女"';

		//布尔值 boolean
		var bool = true;
		console.log(typeof(bool));

		//对象类型 object
		var obj = {
			name:'嘿嘿',
			age:18,
			say:function(){
				alert('哈哈哈哈');
			}
		}
		console.log(obj, typeof(obj));

		var arr=['大乔', '小乔', '貂蝉'];
		console.log(obj,typeof(obj));
		console.log(arr,typeof(arr));
		console.log(null,typeof(null));

		//函数类型 function
		var func = function(){
			console.log('我是函数类型');
		}
		console.log(func,typeof(func));

		//未定义类型 undefined
		var v = undefined;
		var x;
		console.log(v, typeof(v));
		console.log(x);

		// instanceof 检测是否是指定的类,来实例出来的对象
		// 基本数据类型必须使用new,实例化出来的结果才能检测成功
		console.log(arr instanceof Array);
		console.log(num1 instanceof Number);
	</script>
</body>
</html>

7、数据类型转换

强制数据类型转换,是人为的
数值类型的强制转换 Number():
将字符串类型转换成数值类型
Number()只能转纯数字表示的字符串,否则直接返回NaN
parseInt() 整型,从前往后读,一直取到非数值表示的字符为止,如果第一字符就是非数字表示的字符,直接返回NaN
parseFloat() 小数型,和parseInt()类似,只不过会检测第一个小数点。
隐式数据类型转化,是程序自发的,程序人员无法干扰

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
		//将字符串转换成数值
		//Number 只要字符串中有一个非数字的字符,就返回NaN,不包含小数点,只能有一个小数点
		var str1 = '123'; //123
		var str1 = '123abc'; //NaN
		var str1 = '123.1'; //123.1
		var str1 = '123.1.1'; //NaN
		var str1 = 'a123'; //NaN
		// var res = Number(str1);
		// console.log(res,typeof(res));	
		// parseInt() 
		// 从前往后读,从第一个数字取到非数字为止。如果第一个字符是非数字表示的字符,直接返回NaN,
		// parseFloat() 和parseInt()类似,只不过会检测第一个小数点
		// console.log(parseInt(str1), typeof(parseInt(str1)));
		
		//转换成布尔类型为false,0、0.0、NaN、''
		// Boolean()
		var num1 = 0;
		var num1 = NaN; //false
		var num1 = ''; //false
		var num1 = '0'; //true
		var num1 = ' '; //true
		//对象类型
		// var num1 = {}; //true
		// var num1 = null;//false
		//函数类型
		// var num1=function(){}//true
		//未定义类型
		// var num1 = undefined;//false
		console.log(Boolean(num1));
	</script>
</body>
</html>

8、常用运算符

算数运算 +、-、、/、%、++、–
字符串运算 +
赋值运算 =、+=、-=、
=、%=
比较运算 >、<、>=、<=、==、= 、===(全等)、!==(全不等)
逻辑运算 &&、||、!

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>算数运算符</title>
</head>
<body>
	<script type="text/javascript">
		// ++ --
		var a = 1;
		a += 1; // a = a+1
		a++; // 自增1
		++a; 
		a--; // a = a-1
		--a;
		console.log(a);

		//字符串运算:如果+两边有一个是字符串,就做字符串拼接
		var res = 1 +'我是啦啦啦';
		var res = 'abc' + 123;
		var res = 1+1+'a';// 2a
		var res = 1+'a'+1;//1a1
		var res = 'a'+1+2;//a12
		var res = 'a'+(1+2); //a3
		console.log(res);

		//===全等,不仅比较值,还要比较类型是否相同
		console.log('1'==1);//true
		// 自动将字符串'1'强制转换成Number类型进行比较
		console.log('1'===1);//false

		console.log(NaN == NaN);//false
		console.log(null == null); //true

		console.log(true&&true);
	</script>
</body>
</html>

9、流程控制

单分支
双分支
多分支
巢状分支(其实就是嵌套)

10、循环结构

while
for in
for
do while

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
		//双分支
		// var age = 18;
		// if(age>=18){
		// 	alert('ok,你成年了');
		// }else{
		// 	alert('未成年');
		// }

		//多分支,== ,会自动进行转换
		var age = 5;
		if (age<12){
			console.log('少年');
		}else if(age<18){
			console.log('青年');
		}else if(age<40){
			console.log('壮年');	
		}else{
			console.log('老年');
		}

		//switch case 当判断成功后,后面的条件不再判断,直接执行
		// 条件判断使用的是===,条件类型都要一致
		var num = 1;
		switch(num){
			case 1: 
				console.log('婴儿');
				break;
			case 18:
				console.log('成年');
				break;
			case 28:
				console.log('结婚');
				break;
			case 90:
				console.log('老年');
				break;
			default:
				console.log('哈哈');
		}

		//循环
		var num = 0;
		while(num<=10){
			console.log(num);
			num++;
		}

		//for in 一般用来遍历对象
		//当遍历对象时,临时变量拿到的是对象的属性
		//如果遍历的是数组,临时变量拿到的是索引值
		var obj = {name: '澳龙', age:16, gender:'男'}
		for(i in obj){
			console.log(i);//键
			console.log(obj[i]);//值
		}

		var arr = ['鲁智深','小龙女','郭靖'];
		for(i in arr){
			console.log(i);//索引值
			console.log(arr[i]);//值
		}

		//单纯的for循环
		var arr = ['叶问', '李小龙', '王二狗'];
		console.lo(arr.length);//检测长度
		for(var i=0; i<arr.length;i++){
			if(i == 0){
				// continue;
				break;
			}
			console.log(arr[i]);
		}

		// do while 不论循环条件是否成立,先执行一次,然后判断是否循环
		var a = 0;
		do{
			console.log(a);
			a++;
		}while(a<10)
	</script>
</body>
</html>

九九乘法表

实现九九乘法表 并显示在页面中
思路:
1.先完成九九乘法表的逻辑功能
2.如何将数据写到页面
(1)将数据拼接到表格中,定义一个字符串<table>
(2)在行的循环里顶一个字符串<tr>
(3)在列循环中 一个列就是一个td 拼接字符<td>num1*num2=res</td>到tr中
(4)在列循环执行结束 拼接</tr>
(5)在列循环的最后,将拼接好的tr拼接到<table>中
(6)在列循环结束,给table拼接闭合</table>
(7)拼接好的table写入到页面:document.write(table);
各行换色:
先编写两个css,在列循环添加判断 判断行是否是偶数行,如果是偶数行 给<tr class=“red”>,否则,<tr class=“yellow”>。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		.pink{
			background:pink;	
		}
		.gold{
			background:gold;
		}
	</style>
</head>
<body>
	<script type="text/javascript">
		var table='<table border="1">';
		//九九乘法表
		for(var r=1;r<=9;r++){
			if(r%2==0){
				var tr = '<tr class="pink">';
			}else{
				var tr = '<tr class="gold">';
			}
			for(var c=1;c<=r;c++){
				tr +='<td>'+c+'*'+r+'='+r*c+'</td>';
				// console.log(c+'*'+r+'='+r*c);
			}
			tr+='</tr>';
			//拼接到table
			table+=tr;
		}
		//把table的闭合标签拼接
		var res = table+'</table>';
		document.write(res);
	</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值