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


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

查看所有标签

猜你喜欢:

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

C语言接口与实现

C语言接口与实现

David R. Hanson / 郭旭 / 人民邮电出版社 / 2011-9 / 75.00元

《C语言接口与实现:创建可重用软件的技术》概念清晰、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。书中提供了大量实例,重在阐述如何用一种与语言无关的方法将接口设计实现独立出来,从而用一种基于接口的设计途径创建可重用的API。 《C语言接口与实现:创建可重用软件的技术》是所有C语言程序员不可多得的好书,也是所有希望掌握可重用软件模块技术的人员......一起来看看 《C语言接口与实现》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具