### 1、CSS布局的基本单位:Box
Box是CSS布局的对象和基本单位,简单点说,就是一个页面是由很多Box组成的。元素的类型和display属性,决定了这个Box的类型。不同类型的Box,会参与不同的Formatting Context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。
- Block-level box:display属性为block,list-item和table的元素,会生成block-level box,并且参与block formatting context;
- inline-level box:display属性为inline,inline-block和inline-table的元素,会生成inline-level box,并且参与inline formatting context。
### 2、BFC的定义
BFC(Block Formatting Context)直译为“块级格式化上下文”。它是一个独立的渲染区域,只有Block-level Box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相关。
### 3、BFC布局规则
- 内部的Box会在垂直方向,一个接一个地放置;
- Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生重叠;
- 每个元素的margin box的左边,与包含块border box的左边相接触,即使存在浮动也是如此;
- BFC的区域不会与float box重叠;
- BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素,反之也如此;
- 计算BFC的高度时,浮动元素也参与计算。
### 4、哪些元素会生成BFC
- 根元素;
- float属性不为none;
- position为absolute或fixed;
- display为inline-block,table-cell,table-caption,flex,inline-flex;
- overflow不为visible。
- 1、前端常用知识点
- 1.1 如何修改input的placeholder
- 1.2 如何修改滚动条默认样式
- 1.3 理解BFC
- 1.4 数字每隔三位加逗号
- 1.4.1 简单粗暴的做法
- 1.4.2 比较常用的方法
- 1.5 D3图表中如何让文字竖着显示
- 1.6 Handlebars模板中如何比较两个值
- 1.7 SVG/D3中字体特殊设置
- 1.8 Handlebars模板中序号从1开始排序
- 1.9 修改checkbox默认样式
- 1.10 D3.js 执行transition动画中断
- 2、执法项目
- 2.1 面积图填充为线条样式
- 2.2 一个paseFloat()方法两分钟就把页面卡死了
- 2.3 开发中常见的细节问题
- 3、迪爱斯项目
- 3.1 热点冰点卡死问题
- 3.2 ifream切换导致内存泄漏
- 3.3 D3文字旋转问题
- 3.4 D3图表提示框位置问题
- 3.5 js如何实现页面iframe事件监听
- 3.6 zTree-jQuery 树插件异步加载如何传参
- 3.7 图易加载无延迟隐藏部分页面组件
- 4、指挥大屏项目
- 4.1 长时间运行chrome浏览器奔溃问题
- 5、PC端指挥项目
- 5.1 地图上各区域添加图表并将图表显示在各区域中心位置
- 5.2 svg里面添加image标签该的width,height属性被压缩问题
- 5.3 地图上添加图表或文字后较小的区域无法钻取
- 5.4 svg添加image元素在谷歌低版本不显示
- 5.5 input输入框记住用户名或密码后样式被浏览器自带的样式覆盖
- 6、运维项目
- 6.1 按键F11页面无法缩放
- 6.2 主页面逆时针旋转的两段弧问题
- 6.3 websocket的close方法不起作用
- 7、汉阳项目
- 8、警务云项目
- 8.1 PKI兼容chrome浏览器问题
- 9、万达项目
- 9.1 直方图中出现数值比刻度值大
- 9.2 D3选择集的处理模版
- 9.3 将数字转化为三分位节法
- 9.4 制作简易X轴
- 10、涪陵项目
- 10.1 IE11部分版本浏览器下滚动条位置不对
- 11、昆明大屏展示
- 11.1第一期五个页面经验汇总
- 11.2防止文本越界
- 11.3SVG里面谨慎设置font-family
- 11.4Error: <rect> attribute height: A negative value is not valid
- 12、技侦动态管控
- 12.1 使用CSS3动画导致页面抖动
- 12.2 使用 digitroll数字滚动插件,给数字加逗号(3位数分隔)
- 13、ES6前端开发框架
- 13.1 打包后部署到Tomcat下访问路径不对
- 14、贵阳项目
- 14.1、关于引用不到saga文件报错的问题
- 15、React前端开发框架
- 15.1 this.refs.xxx获取到的值是undefined
- 15.2 Mockjs与mapbox不兼容
- 15.3 axios联调报跨域错误
- 15.4 saga结合websocket使用方法
- 15.5 打包部署后访问页面白屏