CSS - 盒模型

栏目: CSS · 发布时间: 5年前

内容简介: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。

CSS - 盒模型

IE模型content的宽和高包含border和padding的。

CSS - 盒模型

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

CSS - 盒模型

当父级元素为 BFC 块级元素的时候为 110px

CSS - 盒模型

此时父级的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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ggplot2:数据分析与图形艺术

ggplot2:数据分析与图形艺术

哈德利·威克姆 (Hadley Wickham) / 统计之都 / 西安交通大学出版社 / 2013-5-1 / CNY 46.00

中译本序 每当我们看到一个新的软件,第一反应会是:为什么又要发明一个新软件?ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。那么我们不禁要问,为什么还要发明一套新的系统? 设计理念 打个比......一起来看看 《ggplot2:数据分析与图形艺术》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具