CSS中的标准盒子模型和怪异盒子模型

html-css013

CSS中的标准盒子模型和怪异盒子模型,第1张

原文链接: https://blog.csdn.net/qq_41145685/article/details/104464232

—————————————————————

一、什么是盒子模型(Box Model)

盒子想必大家都是知道的吧!

生活中我们的快递有盒子包装着,买的蛋糕也是有盒子包装着,我们的礼品也是被盒子包装着。

模型是什么呢?

它是主观意识借助实体或者虚拟表现构成客观阐述形态结构的一种表达目的的物件

css中的盒子模型它是可以对元素进行布局,设置距离的大小,这里面包括含有外边距、边框、内边距和内容主体这四个部分。

二、CSS中的标准盒子模型(W3c标准的盒子模型)

CSS中的盒子模型也是主观意识借助实体或者虚拟表现构成客观阐述形态结构的一种表达目的的物件,在网页的实体中我们是看不见实际盒子模型的。但是我们能够清楚的看到它起到的作用。

1、盒子模型由” content(内容)+padding(内边距)+border(边框)+margin(外边距)“四个部分组成

Margin(外边距) - 清除边框外的区域,外边距是透明的。

Border(边框) - 围绕在内边距和内容外的边框。

Padding(内边距) - 清除内容周围的区域,内边距是透明的。

Content(内容) - 盒子的内容,显示文本和图像。

2、标准盒子模型的计算

如图:

标准的盒子模型的大小是:content(区域内容大小)+padding(内边距)+border(边框)+margin(外边距);

注:标准盒子的初始设置宽高大小不包含padding、border和margin的大小。

三、怪异盒子模型(IE标准的盒子模型)

1、怪异盒模型也叫IE盒子模型

怪异盒主要表现在IE内核浏览器中,当前大部分浏览器支持的是W3C的标准盒子模型,不过其他浏览器也保留了IE盒子模型的支持,需要在CSS中添加触发怪异盒的条件。

怪异盒子(IE盒子模型)的触发条件:

(1) 给元素添加CSS3属性box-sizing:border-box(注:所以如果用CSS3新属性,就不要考虑低版本浏览器了)

(2)文档结构的doctype不写,这个是在IE8 IE7 IE6 IE5等低版本上有,测试可以在win7系统上比较老旧的IE浏览器上,win10自带的新IE浏览器不可以。

2、怪异盒子(IE盒子模型)模型的计算

如图可见添加了怪异盒的div盒子宽度变小了。

标准的盒子模型的大小是:content(区域内容大小)+margin(外边距);

注:怪异盒子的初始设置宽高大小包含padding、border大小在内,但不包含margin的大小。

浏览器盒子模型

一般来说有两种:IE版和标准W3C版

IE版和W3C版主要差别在于IE把border和padding都算进width中,而W3C版的则是width只包括content

默认浏览器会使用标准模型。如果需要使用替代模型,您可以通过为其设置box-sizing: border-box来实现。 这样就可以告诉浏览器使用border-box来定义区域,从而设定您想要的大小。

.box{

    box-sizing:border-box

}

如果你希望所有元素都使用替代模式,而且确实很常用,设置box-sizing在<html>元素上,然后设置所有元素继承该属性,正如下面的例子。如果想要深入理解,请看 the CSS Tricks article on box-sizing 。

html{

    box-sizing:border-box

}

*, *::before, *::after{

    box-sizing:inherit

}

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括: 边距 , 边框 , 填充 ,和 实际内容 。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

我们可以同过调整元素的内外边距、边框来实现元素的位置调整

border-radius顾名思义即边框半径,我们常常利用这个属性来进行元素边框半径的调整,比如说制作圆形的图像。

说了这么多,那么什么是边框半径呢?

一个块元素有四个角,边框半径就相当于在每个角上面嵌套了四个小圆形

举一反三,我们就可以用border-radius来实现半圆和圆形了

PS:我们也可以使用百分比来作为border-radius的值,比如圆形的话直接border-radius:50%就可以实现了~~