内容简介:1 、基本概念:标准模型和IE模型;2 、二者区别?3 、CSS如何设置者两种模型?
面试提问:
1 、基本概念:标准模型和IE模型;
2 、二者区别?
3 、CSS如何设置者两种模型?
4 、JS如何设置与获取对应的高和宽?
5 、实例题:根据盒模型解释边距重叠?
6 、BFC ( 边距解决方案 ) / IFC
解答:
1、基本概念:标准模型和IE模型;
二者都是 content,padding,border,margin
2 、二者区别?
标准模型的content的宽和高不包括padding和border。
IE模型content的宽和高包含border和padding的。
3 、CSS如何设置者两种模型?
标准模型
box-sizing:content-box;复制代码
IE模型
box-sizing:border-box;复制代码
浏览器默认是标准模型。
4 、JS如何设置与获取对应的高和宽?
html
<div class="content" style="width: 250px;height:100px;" > dom获取盒模型的宽和高 </div>复制代码
第一种 dom.style.width / height
let content = document.getElementsByClassName('content')[0]复制代码
let content_wid = content.style.width;复制代码
let content_hei = content.style.height;复制代码
console.log('宽为:',content_wid,"*******",'高为',content_hei)复制代码
只能获取行内css设置的宽和高,并不准确。
第二种 window.getComputedStyle(con).width
console.log(window.getComputedStyle(con).width, window.getComputedStyle(con).height)复制代码
当页面运行结束之后也,获取的时候dom的真实宽和高。
第三种 con.getBoundingClientRect().width
console.log(con.getBoundingClientRect().width, con.getBoundingClientRect().height)复制代码
当页面运行结束之后也,获取的时候dom的真实宽和高。
适用于计算元素的绝对位置,根据视框(viewport)的左上角的绝对位置,所以一共可以拿到4个值,left , top , width , height 。
5 、实例题:根据盒模型解释边距重叠?
边距重叠分为兄弟边距重叠,和父子元素边距重叠。
在兄弟边距中,会选择二者之间最大的为作为二者之间的距离,如果其中一个为空元素,但是空元素设置了上下边距,那么会选择最大的最为边距。
题目:子元素高度为100px,上边距为10px ,那么父级元素为多高。
<div class="parent"> <div class="child"></div> </div>复制代码
.parent { background-color: skyblue; }复制代码
.child { height: 100px; margin-top: 10px; background-color: pink; }复制代码
当父级元素不是 BFC 的时候为 100px
当父级元素为 BFC 块级元素的时候为 110px
此时父级的css
.parent { background-color: skyblue; overflow: hidden; }复制代码
6 、BFC ( 边距解决方案 ) / IFC
BFC 基本概念:块级格式化上下文。
IFC 基本概念:内联元素的格式化上下文。
BFC 基本原理 即为 BFC 的渲染规则
1 、在BFC这个元素的垂直方向的边距会发生重叠。
2 、 BFC的元素不会与浮动的区域重叠,即用来清除浮动。
3 、 BFC 在页面是一个独立的,外面的元素不会影响里面的元素,相反也是一样,各自独立。
4 、 计算BFC 元素高度的时候,浮动元素也会参与计算,
如何创建一个BFC
1 、只要元素设置了float ,那么该元素就是BFC
2 、 只要元素的position的值不是static / relative 就是一个BFC
3 、 当display 属性为table 相关的时候就创建一个BFC
4 、 overflow 为auto / hidden 可以创建一个 BFC
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 能量视角下的GAN模型(三):生成模型=能量模型
- 提高模型准确率:组合模型
- JVM内存模型 与 JMM内存模型
- Golang并发模型:轻松入门流水线模型
- C++11 中的内存模型(上):内存模型基础
- 机器学习中的判别式模型和生成式模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ggplot2:数据分析与图形艺术
哈德利·威克姆 (Hadley Wickham) / 统计之都 / 西安交通大学出版社 / 2013-5-1 / CNY 46.00
中译本序 每当我们看到一个新的软件,第一反应会是:为什么又要发明一个新软件?ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。那么我们不禁要问,为什么还要发明一套新的系统? 设计理念 打个比......一起来看看 《ggplot2:数据分析与图形艺术》 这本书的介绍吧!