盒子模型:标准模式:占页面宽度=content+border+padding; content 仅指内容区width
怪异模式IE:占页面宽度 = content; content本身包含 内容区width+padding+border
1文档使用DOCTYPE声明,则会采用标准模式;
2设置-webkit-box-sizing:content-box; 则会采用标准模式;设置box-sizing:border-box,将会采用怪异模式。
flexbox 弹性布局:
任意一容器指定为Flex布局,.box{display:flex;/inline-flex;} -webkit-flex; 其.box的子元素的float,clear,vertical-align属性将失效
容器.box有以下6个属性:
flex-direction:row | row-reverse | column | column-reverse; 决定主轴main axis的方向;
flex-wrap: nowrap | wrap | wrap-reverse; 定义项目在周线上一行排不下,如何换行;wrap-reverse换行,第一行在下方,第二行在上方
flex-flow: row nowrap(默认) ;简写形式
justify-content: flex-start | flex-end | center | space-between | space-around; 定义了项目在主轴上的对齐方式。space-between两端对齐,项目之间的间隔相等。space-around:每个项目两侧的间隔相等,项目之间的间隔比项目与边框的间隔大一倍。
align-items:flex-start | flex-end | center | baseline | stretch ; 定义项目在交叉轴侧轴上如何对齐,baseline 项目的第一行文字的基线对齐。stretch:如果项目为设置高度或设为auto,将沾满整个容器的高度。
align-content:flex-start | flex-end | center | space-between | space-around | stretch 定义了多根轴线定义的对齐方式。如果项目只有一根轴线,该属性不起作用。
项目.子元素的6个属性:
order:number 定义项目的排列顺序,数值越小,排列越靠前,默认为0.
flex-grow:number 定义项目的放大比例,默认为0;如果都为1,则等份剩余空间。
flex-shrink: number 定义了项目的缩放比例,默认为1,即若空间不足,该项目则缩小
flex-basis: length | auto 定义了项目在分配多余空间前,项目占据的主轴空间。默认auto,即项目本来的大小。
flex:auto | none 是flex-grow flex-shrink flex-basis 简写,默认0 1 auto ; auto(1 1 auto ) none(0 0 auto).
align-self: auto | flex-start | flex-end | center | baseline |stretch; 允许单个项目与其他项目不一样的对齐方式,可覆盖align-items属性。
cookie 是浏览器的一种机制,将document对象的cookie 属性提供给js,cookie可以实现严格的 跨页面全局变量 。可以跨越一个域名的多个页,但不能跨越多个域名使用。cookie是存于用户硬盘的一个文件这个文件对应一个域名,当浏览器再次访问这个域名时,便使用这个cookie
cookie机制将信息存储于用户硬盘,因此可以作为全局变量,常见的应用场合 1 保存用户登录状态 2 跟踪用户行为 3 定制页面 4 创建购物车
document.cookie="userId=828";
document.cookie="userName=hulk";
给cookie设置终止日期:document.cookie="userId=828; expiress=GMT_String";
删除cookie //获取当前时间 var date=new Date(); //将date设置为过去的时间 date.setTime(date.getTime()-10000); //将userId这个cookie删除 document.cookie="userId=828; expires="+date.toGMTString();
<meta name='viewport' content='width=device-width,minimum-scale=1.0,maximum-scale=1.0'/>
viewport可视区; width可视区宽度; device-width设备宽度;minimum-scale 允许用户缩放到的最小比例;maximum-scale允许用户缩放的最大比例 user-scalable:用户是否可手动缩放
HTTP http://blog.csdn.net/a603473186/article/details/6532261
HTML5、CSS3 兼容老师浏览器
关于算法的问题
1 判断一个单词是否是回文
function check(str){
... return str == str.split('').reverse().join('');
... }
2 去掉一组整型数组重复的值[1,1,3,44,14,2,3]
let unique = function(arr){
... let hash = {};
... let data = [];
... for(let i=0;i<arr.length;i++){
..... if(!hash[arr[i]]){
....... hash[arr[i]] = true;
....... data.push(arr[i]);
....... }
..... }
... return data
... }
3 对象创建模式
1.使用new关键字创建
var gf = new Object();
gf.name = "tangwei";
gf.bar = "c++";
gf.sayWhat = function() {
console.log(this.name + "said:love you forever");
}
2. 使用字面量创建
var gf = {
name : "tangwei",
bar : "c++",
sayWhat : function() {
console.log(this.name + "said:love you forever");
}
}
3.工厂模式
function createGf(name, bar) {
var o = new Object();
o.name = name;
o.bar = bar;
o.sayWhat = function() {
alert(this.name + "said:love you forever");
}
return o;
}
var gf1 = createGf("bingbing","d");
var gf2 = createGf("mimi","a");
4 构造函数
function Gf(name,bar){
this.name = name;
this.bar = bar;
this.sayWhat = function(){
alert(this.name + "said:love you forever");
}
}
var gf1 = new Gf("vivian","f");
var gf2 = new Gf("vivian2","f");
5.使用原型对象:在原型模式中,不必在 构造函数中定义实例属性,可以将属性直接赋予原型对象,达到共享属性和方法。
function Gf(){}
Gf.prototype = {
name : "vivian",
bar : "c++",
sayWhat : function(){
alert(this.name + "said:love you forever");
}
}
6. 构造函数和原型组合模式
在实际开发中,使用构造函数定义 对象的属性,使用原型来定义共享的属性和方法。
function Gf(name,bar){
this.name = name;
this.bar = bar;
}
Gf.prototype = {
constructor : Gf,
sayWhat : function() {
alert(this.name + "said:love you forever");
}
}
var gf1 = new Gf("vivian", "f");
var gf2 = new Gf("vivian1", "c");
原型里定义了sayWhat方法,gf1,gf2共用,name bar 属性 为私有的。