HTML 1、一套规则,浏览器认识的规则。 2、开发者: 学习Html规则 开发后台程序: - 写Html文件(充当模板的作用) ****** - 数据库获取数据,然后替换到html文件的指定位置(Web框架) 3、本地测试 - 找到文件路径,直接浏览器打开(单个文件测试时,无需使用socket服务端) - pycharm打开测试 4、编写Html文件 - doctype对应关系 <!--对于不同的浏览器有自己的编码规范,<!DOCTYPE html>默认是统一的规范,否则显示的页面由于对应关系不同,会错位--> - html标签,标签内部可以写属性 ====> 只能有一个,<html lang="en"> </html>==>html标签,lang="en"叫html标签的属性。 - 注释: <!-- 注释的内容 --> 5、标签分类 - 自闭合标签 只写了一个<meta>标签,没有</meta>标签,自己就闭合了。 例如:<meta charset="UTF-8"> - 主动闭合标签 例如:<title>老男孩</title> 6、 - <meta -> 编码,跳转,刷新,关键字,描述,IE兼容 6.1 编码:<meta charset="UTF-8"> 6.2 跳转:<meta http-equiv="Refresh" Content="5" Url="http://baidu.com" /> 5秒钟后跳转至baidu.com 6.3 刷新:<meta http-equiv="Refresh" Content="30"> 该页面默认30秒刷新一次 6.4 关键字:<meta name="keywords" content="星际2,红警"> 6.5 描述: <meta name="description" content="汽车之家为您提供最新汽车报价。" /> 6.6 兼容:<meta http-equiv="X-UA-Compatible" content="IE=IE9;IE=IE8;" /> - title标签 ,网站的标题 - <link /> 搞图标,欠 - <style />欠 - <script> 欠 7、body标签 - 图标, > < - p标签,段落 <p></p> - br,换行 <br /> ======== 小总结 ===== 所有标签分为: 标签之间可以嵌套 标签存在的意义:通过 css操作、js操作可以方便定位到哪个标签的值。 ps:chorme审查元素的使用 - 定位 - 查看样式 - h系列 :标题字体大小,从h1到h6,h1最大,h6最小。 <h1></h1> - - span :白板,横着输出。属于行内标签; <span></span> - input系列 + form标签 input type=‘text‘ - name属性,value="赵凡" input type=‘password‘ - name属性,value="赵凡" input type=‘submit‘ - value=‘提交‘ 提交按钮,表单 input type=‘button‘ - value=‘登录‘ 按钮 input type=‘radio‘ - 单选框 value,checked="checked",name属性(name相同则互斥) input type=‘checkbox‘ - 复选框 value, checked="checked",name属性(批量获取数据) input type=‘file‘ - 依赖form表单的一个属性 enctype="multipart/form-data" input type=‘rest‘ - 重置 <textarea >默认值</textarea> - name属性 select标签 - name,内部option value, 提交到后台,size,multiple - a标签 - 跳转 - 锚 href=‘#某个标签的ID‘ 标签的ID不允许重复 - img src alt title - 列表 ul li ol li dl dt dd - 表格 table thead tr th tbody tr td colspan = ‘‘ rowspan = ‘‘ - label 用于点击文件,使得关联的标签获取光标 <label for="username">用户名:</label> <input id="username" type="text" name="user" /> - fieldset legend - 20个标签 CSS 在标签上设置style属性: background-color: #2459a2; height: 48px; ... 编写css样式: 1. 标签的style属性 2. 写在head里面 style标签中写样式 - id选择区 #i1{ background-color: #2459a2; height: 48px; } - class选择器 ****** .名称{ ... } <标签 class=‘名称‘> </标签> - 标签选择器 div{ ... } 所有div设置上此样式 - 层级选择器(空格) ****** .c1 .c2 div{ } - 组合选择器(逗号) ****** #c1,.c2,div{ } - 属性选择器 ****** 对选择到的标签再通过属性再进行一次筛选 .c1[n=‘alex‘]{ width:100px; height:200px; } PS: - 优先级,标签上style优先,编写顺序,就近原则 2.5 css样式也可以写在单独文件中 <link rel="stylesheet" href="commons.css" /> 3、注释 /* */ 4、边框 - 宽度,样式,颜色 (border: 4px dotted red;) - border-left 5、 height, 高度 百分比 width, 宽度 像素,百分比 text-align:ceter, 水平方向居中 line-height,垂直方向根据标签高度 color、 字体颜色 font-size、 字体大小 font-weight 字体加粗 6、float 让标签浪起来,块级标签也可以堆叠 老子管不住: <div style="clear: both;"></div> 7、display display: none; -- 让标签消失 display: inline; display: block; display: inline-block; 具有inline,默认自己有多少占多少 具有block,可以设置无法设置高度,宽度,padding margin ****** 行内标签:无法设置高度,宽度,padding margin 块级标签:设置高度,宽度,padding margin 8、padding margin(0,auto)
CSS补充: - position position: fixed; <!-- 固定窗口在某个位置,可以跟随窗口一起动 --> position: absolute; <!-- 绝对定位,一开始定在哪里,就是哪里了。 --> relative+avsolute的用法: 父标签里定义一个position:relative;子标签里定义一个position:absolute; 子标签就会相对父标签定位。 bottom:20px; <!-- 离下面多远 --> right: 20px; <!-- 离右面多远 --> margin-top: 50px; <!-- 外边距距离上面有50像素。防止标签内容被postion那个标签挡住 --> - background background-image:url(‘img/1.gif‘) <!-- 背景图片,默认是如果div设置的很大,图片会重复放置 --> background-repeat:repeat-x; <!-- 表示横向加载 --> background-repeat:repeat-y; <!-- 表示纵向加载 --> background-repeat:no-repeat; <!-- 表示不重复加载 --> background-position-x:0; background-position-y:-20px; background-position:0 -20px; - hover <!-- .menu:hover 表示当鼠标放在应用此样式的标签上,就会显示该属性的效果 --> - overflow <!-- overflow: auto 如果下面图片标签的宽度超过这个标签设定的宽度就出现滚动条; overflow: hedden 超过就隐藏--> - z-index <!--表示层级的顺序;谁的值大,谁就在上面--> - opacity <!--透明度,只有0~1,1为不透明,0为完全透明--> 示例:输入框右边放置图标 JavaScript: 局部变量 var 基本数据类型: 数字 字符串 数组 字典 布尔值 For循环 条件语句 == != === !== || && 函数的定义: function func(){ ... } Dom 找标签 - 直接找 $(‘#id‘) $(‘.c1‘).siblings() - 简介找 操作: innerText checkbox: checked className classList 事件: <div onclick=‘函数(123)‘></div> <script> 。。。。 </script> 定时器 setInterval(‘函数()‘, 4000) 其他: alert() console.log() CSS重要的标签 position background text-align margin padding font-size z-index over-flow :hover opacity float (clear:both) line-height border color display 补充:页面布局 主站— <div class=‘pg-header‘> <div style=‘width:980px;margin:0 auto;‘> 内容自动居中 </div> </div> <div class=‘pg-content‘></div> <div class=‘pg-footer‘></div> 后台管理布局: position: fiexd -- 永远固定在窗口的某个位置 relative -- 单独无意义 absolute -- 第一次定位,可以在指定位置,滚轮滚动时,不在了。。。。 a. 左侧菜单跟随滚动条 b. 左侧以及上不不动 ****** JavaScript 6、for循环 for(var item in [11,22,33]){ console.log(item); continue; } var arra = [11,22,32,3] for(var i=0;i<arra.lenght;i=i+1){ break; } while(条件){ } 7、条件语句 if(){ }else if(){ }else{ } == === name=‘3‘; switch(name){ case ‘1‘: age = 123; break; case ‘2‘: age = 456; break; default : age = 777; } 8. 函数 function func(arg){ return arg+1 } var result = func(1) console.log(result); 普通函数: function func(){ } 匿名函数: function func(arg){ return arg+1 } setInterval("func()", 5000); setInterval(function(){ console.log(123); },5000) 自执行函数(创建函数并且自动执行): function func(arg){ console.log(arg); } // func(1) (function(arg){ console.log(arg); })(1) 9、序列化 JSON.stringify() 将对象转换为字符串 JSON.parse() 将字符串转换为对象类型 10、转义 客户端(cookie) =》 服务器端 将数据经过转义后,保存在cookie 11、eval python: val = eval(表达式) exec(执行代码) JavaScript: eval 12、时间 Date类 var d = new Date() d.getXXX 获取 d.setXXX 设置 13、作用域 ================================ 1. 以函数作为作用域 (let)================================ 其他语言: 以代码块作为作用域 public void Func(){ if(1==1){ string name = ‘Java‘; } console.writeline(name); } Func() // 报错 Python: 以函数作为作用域 情况一: def func(): if 1==1: name = ‘alex‘ print(name) func() // 成功 情况二: def func(): if 1==1: name = ‘alex‘ print(name) func() print(name) // 报错 JavaScript: 以函数作为作用域 function func(){ if(1==1){ var name = ‘alex‘; } console.log(name); } func() ================================ 2. 函数的作用域在函数未被调用之前,已经创建 ================================ function func(){ if(1==1){ var name = ‘alex‘; } console.log(name); } ================= 3. 函数的作用域存在作用域链,并且也是在被调用之前创建 ================== 示例一: xo = "alex"; function func(){ // var xo = ‘eric‘; function inner(){ // var xo = ‘tony‘; console.log(xo); } inner() } func() 示例二: xo = "alex"; function func(){ var xo = ‘eric‘; function inner(){ console.log(xo); } return inner; } var ret = func() ret() 示例三: xo = "alex"; function func(){ var xo = ‘eric‘; function inner(){ console.log(xo); } var xo = ‘tony‘; return inner; } var ret = func() ret() ================= 4. 函数内局部变量 声明提前 ================== function func(){ console.log(xxoo); } func(); // 程序直接报错 function func(){ console.log(xxoo); var xxoo = ‘alex‘; } 解释过程中:var xxoo; func(); // undefined 14、JavaScript面向对象 JavaScript面向对象 function foo(){ var xo = ‘alex‘; } foo() function Foo(n){ this.name = n; this.sayName = function(){ console.log(this.name); } } var obj1 = new Foo(‘we‘); obj1.name obj1.sayName() var obj2 = new Foo(‘wee‘); obj2.name obj2.sayName() ==============》 a. this代指对象(python self) b. 创建对象时, new 函数() Python的面向对象: class Foo: def __init__(self,name): self.name = name def sayName(self): print(self.name) obj1 = Foo(‘we‘) obj2 = Foo(‘wee‘) 原型: function Foo(n){ this.name = n; } # Foo的原型 Foo.prototype = { ‘sayName‘: function(){ console.log(this.name) } } obj1 = new Foo(‘we‘); obj1.sayName() obj2 = new Foo(‘wee‘); DOM 查找 直接查找 var obj = document.getElementById(‘i1‘) 间接查找 文件内容操作: innerText 仅文本 innerHTML 全内容 value input value获取当前标签中的值 select 获取选中的value值(selectedIndex) textarea value获取当前标签中的值 搜索框的示例 操作: 样式操作: className classList classList.add classList.remove obj.style.fontSize = ‘16px‘; obj.style.backgroundColor = ‘red‘; obj.style.color = "red" 属性操作: attributes getAttribute removeAttribute 创建标签,并添加到HTML中: a. 字符串形式 b. 对象的方式 document.createElement(‘div‘) 提交表单 任何标签通过DOM都可提交表单 document.geElementById(‘form‘).submit() 其他: console.log() alert var v = confirm(信息) v:true false location.href location.href = "" # 重定向,跳转 location.reload() # 页面刷新 location.href = location.href < === > location.reload() var o1 = setInterval(function(){}, 5000) clearInterval(o1); var o2 = setTimeout(function(){}, 50000); clearTimeout(o2); var obj = setInterval(function(){ }, 5000) clearInterval(obj); 事件: onclick,onblur,onfocus 行为 样式 结构 相分离的页面? js css html 绑定事件两种方式: a. 直接标签绑定 onclick=‘xxx()‘ onfocus b. 先获取Dom对象,然后进行绑定 document.getElementById(‘xx‘).onclick document.getElementById(‘xx‘).onfocus this,当前触发事件的标签 a. 第一种绑定方式 <input id=‘i1‘ type=‘button‘ onclick=‘ClickOn(this)‘> function ClickOn(self){ // self 当前点击的标签 } b. 第二种绑定方式 <input id=‘i1‘ type=‘button‘ > document.getElementById(‘i1‘).onclick = function(){ // this 代指当前点击的标签 } 作用域示例: var myTrs = document.getElementsByTagName("tr"); var len = myTrs.length; for(var i=0;i<len;i++){ // i=0,i=1,i=2 myTrs[i].onmouseover = function(){ this.style.backgroundColor = "red"; }; } jQuery
原文:http://xiaofengcanyue.blog.51cto.com/6671161/1876475