前端·基础
B/S软件的结构

前端开发流程

网页的组成部分


HTML简介

HTML文件书写规范



HTML标签介绍

基本属性
1 | |

事件属性
1 | |

单双标签

br是换行 hr是水平线。
1 | |

标签的语法
标签不能够交叉嵌套

标签必须正确关闭

没有文本内容的标签

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

注释不能嵌套

常用标签
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 | |

表单格式化
1 | |

表单提交的细节

增加如下细节
提交后的网址
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 | |

提交后:

此时我们的单选和复选发送的是on 不是我们想要的有效信息


再次提交
其他标签:div span和p
- div标签默认独占一行
- span标签 它的长度是封装数据的长度
- p标签 段落标签 默认会在段落的上方或下方各空出一行来
1 | |

CSS介绍




CSS和HTML结合方式
在标签的style属性上设置


如果样式多了,代码量非常庞大,而且可读性差,且没有复用性。
在head标签中,使用style标签来定义需要的css样式。
1 | |
1 | |

div都有效。

这样span也有效。实现了css复用。
缺点
导入css文件


CSS选择器
标签名选择器



id选择器



class选择器

1 | |

id不可重复 class可重复
注意id是#开头 class是.开头
组合选择器

1 | |

这里就是组合选择器
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 | |
getElementsByTagName
1 | |
三个查询方法使用注意事项
优先顺序
id>name>TagName

document对象补充说明
createElement和appendChild


注意body对象是现成的 直接调用
createTextNode
刚才的div可以用这个方法替代。