C3的新特性:
C3的新特性有很多,常见的如下
1、border-radius:圆角边框
2、box-shadow:盒子阴影
3、background-size:背景图片大小
4、transition:过渡
5、transform:转换(位移 旋转 缩放)
6、animation:动画
7、linear-gradient:线性渐变
8、box-sizing:css3盒子模型
BFC是什么
我们在页面布局的时候,经常出现以下情况
1、这个元素高度怎么没有了?
2、这两栏布局怎么没法自适应?
3、这两个元数的间距怎么有点奇怪?等
他们有这样的原因是元素之间相互的影响,导致了意料之外的情况,这里就涉及到BFC概念
BFC (Block Formatting Context),即块级格式上下文,他是页面中的一块渲染区域,
并且有一套属于自己的渲染规则:
1、内部的盒子会在垂直方向上一个接一个的放置
2、对于同一个BFC的两个相邻的盒子margin会发生重叠,与方向无关。
3、BFC的区域不会与float的元素区域重叠
4、计算BFC的高度时,浮动子元素也参与计算
5、BFC就是页面上的一个隔离的独立容器。容器里面的子元素不会影响到外面的元素,
反之 BFC目的是形成一个相对于外界完全独立的空间,让内部的子元素不会影响到外部的元素
6、每个元素的左外边距与包含的左边界相接处(从左到右),即使浮动也是如此
触发条件
可以通过如下的设置来触发(产生)一个 BFC
- 浮动元素:float 值为left 、right
- overflow值不为 visiblle,为auto、scroll、hidden
- position 的值为absolute 或 fixed
- 根元素,即HTML 元素
- display 的值为 tabl-caption、inline-block 、inltable-cell、table、inline-table、flex、inline-flex、inline-grid、grid
应用场景
当一个容器具备了BFC的时候,我们就可以利用 BFC 的特性了,可以解决很多问题
- 防止 margin(外边距)重叠(塌陷)
- 清除浮动
- 自适应多栏布局
盒子模型
- 盒子模型有2中: a、标准盒子模型 b、怪异盒子模型
- 标准盒子模型=content(内容)+border(边框)+padding(内边距)
- 盒子模型的组成分为四部(如下)内容 内边距 外边距 (盒子的实际宽度一般不计入) 边框
- 怪异盒子模型=content(内容和已包含的padding与border)
- c3中可以通过设置box-sizing属性来完成标准盒子或者怪异盒子之间的切换,怪异盒子模型:box-sizing:border-box; 标准盒子模型:box-sizing:content-box