
HTML 5
简称H5,是最新的第五代HTML标准。
语义化
H5 新增的标签能够让你更恰当地描述你的内容是什么,新增的语义化标签有<section>,<artical>,<footer>等等。
input和textarea的区别
input 是单行文本框,不可以换行,
textarea 是多行文本框,无value 属性
用一个div模拟textarea的实现
.main{
width: 400px;
min-height: 50px;
max-height: 100px;
_height: 100px; //IE6
margin-left: auto;
margin-right: auto;
padding: 3px;
outline: 0;
border: 1px solid #a0b3d6;
font-size: 12px;
word-wrap: break-word;
overflow-x: hidden;
overflow-y: auto; //超过最大高度就出现滚动条
_overflow-y: visible;
}
<div contenteditable="true" class="main">
.....此处省略.....
</div>
CSS
盒模型
所有HTML元素都可以被看作一个盒子,它包括:边距,边框,填充,和实际内容。
flex 布局
弹性布局,任何一个容器都可以使用flex 布局,Webkit 内核的浏览器,必须加上-webkit前缀。
.box{
display: -webkit-flex; /* Safari */
display: flex;
}
css单位
单位有很多,举例:绝对长度和相对单位,绝对长度有px、cm等,相对单位rem,em,vh,vw 等等
菜鸟教程--CSS单位
css选择器
类选择器,id选择器,属性选择器,*选择器,标签选择器以及其他各种复杂选择器查看下面的链接。
菜鸟教程--所有选择器
层叠上下文
z-index 的理解
常见页面布局
浮动布局,定位布局,flex布局,grid布局,表格布局
响应式布局
@media 媒体查询
可以在css样式里直接写
@media 类型 and (条件1) and (条件二)
{
css样式
}
也可以使用@import 导入
@import url("css/moxie.css") all and (max-width:980px);
也可以在link里
<link rel="stylesheet" type="text/css" href="css/moxie.css" media="all and (max-width=980px)"/>
css预处理器,后处理器
预处理器:可以被转换为CSS文件,但是它们灵活性比CSS好许多Sass、LESS、Stylus 是目前最主流的 CSS 预处理器。
CSS 后处理器 是对 CSS 进行处理,并最终生成 CSS 的 预处理器
css3新特性
太多了。
transition, animation, transform以及新选择器等等
之前记录的CSS3 新特性 :css3 新特性
display哪些取值
常见的 none,inline,inline-block,block以及更多
相邻的两个inline-block节点出现间隔
给父级盒子加上 font-size:0,然后给子元素加上相应的font-size 即可
meta viewport 移动端适配
viewport 是浏览器显示视图的区域,meta viewport标签可以让开发者控制显示页面内容的区域。
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
画三角形
通过设置宽高为0,设置border相关属性就可以实现三角形
border-color: transparent transparent #000 transparent;
1像素边框问题
百度一下
JS
原型/原型链/构造函数/实例/继承
有几种方式可以实现继承
五种:
对象冒充,call()方法方式,apply() 方法方式,原型链方式,混合方式
参考:五种实现继承的方式
arguments对象
JavaScript 没有重载,使用arguments 对象可以模拟重载,通过数组下标的方式访问实参。arguments.length为函数实参个数,arguments.callee引用函数自身
数据类型判断
typeof 操作符可以判断数据类型,它返回表示数据类型的字符串(返回结果只能包number,boolean,string,function,object,undefined,symbol)toString.call(testObj)
instanceof
更多方法
作用域链、闭包、作用域
原生Ajax 写法
IE7 以上以及其他浏览器都支持XMLHttpRequest 对象
XHR的用法
open()启动一个请求以备发送,接受三个参数,请求类型,请求的URL和是否异步发送的布尔值。
xhr.open('get','example.php',false)
调用send() 方法,接收一个参数,即请求体要发送的数据,如果不需要发送数据就传入null
xhr.send(null)
由于这次的请求是同步的,接下来的代码会等请求完成之后才会执行,在收到响应后,响应的数据会填充xhr对象的属性,相关属性的简介如下:
responseText:作为相应主体被返回的文本;
responseXML:如果响应的内容类型是“text/xml”或“application/xml”,这个属性一般将保存包含着响应数据的XML DOM文档;
status:响应的HTTP状态;
statusText:HTTP状态的说明;
完整的请求示例:(xhr 使用封装好的createXHR函数,高程三的572页)
xhr.open('get','example.txt',false);
xhr.send(null);
if((xhr.status>=200&&xhr.status<300)||xhr.status==304){
alert(xhr.responseText)
}else{
alert("Request was unsuccessfult:"+xhr.status);
}