简述CSS BFC和CSS hack
BFC
BFC定义:
浮动元素和绝对定位元素,非块级盒子的块级容器(例如inline-blocks,table-cells,和table-captions),以及overflow值不为‘visiable’的块级盒子,都会为它们的内容创建新的BFC(块级格式上下文)
给元素增加overflow:hidden生成BFC BFC作用
- 设置浮动使元素脱离正常文档里,生成BFC,与normal状态下的元素互不影响,由此形成自适应两栏布局。
- 防止垂直方向上的margin合并:
设置了绝对定位的p生成了一个BFC,与其他两个p不属于同一个BFC,不会发生margin合并。
CSS hack
由于不同的浏览器,甚至同一浏览器的不同版本对CSS的解析认识不一样,导致生成的页面效果不一致,写出针对不同浏览器CSS code就称为CSS hack。
常用的CSS hack 有三种方式,CSS 内部hack、选择器hack、HTML 头部引用,其中第一种最常用。
以下网站查看css标签兼容情况
http://caniuse.com/