1.CSS盒子模型包括四个部分组成:设定的宽高+padding+border+margin;
2.JS盒子模型:通过系统提供的属性和方法,来获取当前元素的样式值
  JS提供的属性和方法:
  1. client系列:clientWidth,clientHeight,clientLeft,clientTop;
  2. offset系列: offsetWidth,offsetHeight,offsetLeft,offsetTop,offsetParent
  3. scroll系列:scrollWidth,scrollHeight,scrollLeft,scrollTop
3.关于父级
 1)parentNode  结构父级
 2)offsetParent  定位父级
4.JS提供的属性和方法:
1)clientWidth/clientHeight:元素设定的宽/高+左右padding值/上下padding值;
      clientLeft/clientTop:代表对应左边框/上边框的宽度;
     **跟内容是否溢出无关;
2)offsetWidth:clientWidth/clientHight+左右border/上下border;
     offsetLeft:当前元素的外边框距离定位父级内边框的距离;
    **跟内容是否溢出无关;
3)scrollHeight::
      跟内容是否溢出有关
     内容溢出:约等于上padding+真实内容的高度;
     内容没溢出:等于clientWidth或clientHeight;
      为什么是约等于?
      ①不同浏览器中,拿到的scrollHeight值是不同的;
      ②同一浏览器是否溢出隐藏,拿到的值不同;
5.关于JS盒子模型的一些问题
1)通过JS的属性和方法拿到的都是属性的复合 样式,拿不到单独的值;getCss;
2)拿到的复合样式值都是整数,不会出现小数;
3)offsetLeft只能求出当前元素的外边框距离定位元素父级的内边框之间的距离,但是求出与定位元素距离body的距离;—offset{left,top}
4)JS盒子模型的兼容性存在问题;—clientWidth,scrollHeight__—win
6.关于浏览器的常用兼容处理思想
 ①思想一,属性值的判断:
  • attr in window
  • obj.attr
  • typeOf obj.attr==‘function'
②思想二,浏览器异常捕获:try{……}  catch(e){……}  finally{……}
③思想三,通过浏览器判断处理浏览器兼容问题;
     var reg=/MSTE (6|7|8)/g;
  • reg.test(window.navigator.userAgent);//true:IE678;
  • window.navigator.userAgent.match(reg );true —>ie678
  • window.navigator.userAgent.search(reg); !==-1—>ie678
7.结构父级中最大的是HTML;定位父级中最大的元素是body;
8.this的用法
1)当前元素被触发的时候,会调用一个函数,函数中的this指向当前这个元素;

2)函数被调用的时候,点前面是谁,this就是谁

3)自执行函数中的this,window;

4)构造函数中的this是实例;

5)回调函数中的this默认是window;
6)call可以改变this指向
9.类和实例
//给类添加私有属性,跟实例没有任何关系;
//实例:可以使用自己的私有属性和方法,也可以使用原型上的公有方法,但实例无法使用类的私有属性和方法;
function Fn(){

    this.aa=123;//给实例添加私有属性;
}
Fn.aa=456;//给类添加私有属性;
var f=new Fn();
alert(f.aa);
alert(Fn.aa)
 
 
   
 
 
 
 
 
 
 
 

JS学习:第二周——NO.3盒子模型的更多相关文章

  1. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验【中英】

    [中英][吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第二周测验 第2周测验 - 神经网络基础 神经元节点计算什么? [ ]神经元节点先计算激活函数,再计算线性函数(z = Wx + ...

  2. 201671010140. 2016-2017-2 《Java程序设计》java学习第二周

                                 学习第二周(Java基本程序设计结构)      这一周,着重学习了Java的简单程序设计实现及运行,通过自己操作,发现Java的程序语法大面 ...

  3. H5学习第二周

    怎么说,在各种感觉中h5学习的第二周已经过来了,先总结一下,感觉学习h5是一件让我爱恨交加的事,学会一些新的知识并把它成功运行出来的时候是非常激动和兴奋的,但是有时候搞不懂一个标签或者属性的时候,就有 ...

  4. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  5. Java学习第二周学习笔记

    20145307<Java程序设计>第二周学习总结 教材学习内容总结 Java语言中的很多基本语法都和C语言类似,以下Java中的基本语法 标识符 标识符是程序中自定义的一些名称. 由26 ...

  6. CSS学习笔记(float和盒子模型)

    1.当元素或者是它的包裹层设置了绝对定位或者是浮动,那么margin:0 auto;自动居中的效果就不会实现. 2.盒子模型的三位立体结构图中从第一层到第五层依次为:border.content+pa ...

  7. IP通信基础学习第二周

    此周的课程学习应该算是我对此科目真正学校生涯的开始吧,尽管我对该科目仍感到很陌生. 课程一开头,老师就给我们简单的介绍了网络的定义.发展及其分类,重点讲了网络拓扑结构及其在局域网上具体的分层情况.该部 ...

  8. Java学习第二周

    这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数 ...

  9. JS学习第二课

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

随机推荐

  1. [LeetCode] Longest Consecutive Sequence 求最长连续序列

    Given an unsorted array of integers, find the length of the longest consecutive elements sequence. F ...

  2. openwrt下部署adbyby去广告大师 免luci 带自启动,自动开启透明代理

    最近朋友送了个360老路由器 C301,于是乎就掉进了智能路由器的坑, 玩智能路由器第一件事一定是去广告, 要么怎么对得起智能路由器- -! 路由器去广告当然首推广告屏蔽大师 www.adbyby.c ...

  3. 控制反转(IOC)

    对于很多大中型项目为了实现解耦都用到了控制反转. 常用的控制反转有unity,autoface,spring.Net 使用它们的目的归根结底就一个:避免了直接new一个对象. 今天抽时间将三种控制反转 ...

  4. C#使用zxing,zbar,thoughtworkQRcode解析二维码,附源代码

    最近做项目需要解析二维码图片,找了一大圈,发现没有人去整理下开源的几个库案例,花了点时间 做了zxing,zbar和thoughtworkqrcode解析二维码案例,希望大家有帮助. zxing是谷歌 ...

  5. Dockerfile初探

    git上的asp.net samples工程已经写好了docker file,内容是如下   //任何dockersfile都要以FORM开头,约定是用大写. FROM microsoft/aspne ...

  6. 怎么在MindManager中查看打印预览

    在MindManager2016思维导图中打印导图之前,可以先进行预览,MindManager和其他很多应用程序一样都带有打印预览功能,该功能提供了再次检查的机会,避免打印出错,MindManager ...

  7. Mysql触发器

    触发器(trigger)作用:监视某种情况,并触发某种操作. 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/b ...

  8. 我用ANDROID STUDIO开发,页面上总包这个警告,很烦!网上说是sdk版本问题,但是我是基于25开发的,最小版本也是19,有没有老司机啊?3克油

  9. 大数据量冲击下Windows网卡异常分析定位

    背景 mqtt的服务端ActiveMQ在windows上,多台PC机客户端不停地向MQ发送消息. 现象 观察MQ自己的日志data/activemq.log里显示,TCP链接皆异常断开.此时尝试从服务 ...

  10. supervisor的使用:

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } sp ...