标签:class context 作用 level utf-8 form head 布局 影响
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .p1{ width: 100px; height: 30px; font-size: 20px; background-color: red; margin-bottom: 20px; } .p2{ width: 100px; font-size: 20px; height: 30px; background-color: yellow; margin-top: 50px; } .d1{ width: 1000px; height: 600px; border: 1px solid gray; margin: 0 auto; } .d2{ width: 200px; height: 500px; background-color: red; float: left; } .d3{ width: 500px; height: 500px; background-color: yellow; float: right; } .d4{ /*width: 600px;*/ height: 600px; background-color: green; overflow: hidden; /*display: inline-block;*/ } </style> </head> <body> <!-- BFC(Block Formatting Context)"块级格式化上下文" 它是页面里的任意一块独立的渲染区域,只有Block-level box参与。 在BFC内部有一定的排布规则,且这个区域与外部毫不相干。 概念1:Box 页面布局的基本单位,一个页面有多个box组成,元素的默认类型和display样式,最终决定了这个box的类型。不同的box类型会参与不同的Fromatting Context. 概念2:Formatting Context:这是css2.1提出的概念,是页面中的一块渲染区域,不同类型的元素会形成不同的渲染区域,其内部渲染规则不同,它决定了其内部子元素如何排列,
以及和其他元素之间的关系和相互作用,最常见的Formatting Context有两种:BFC(Block Formatting Context)和IFC(inline Formatting Context) BFC的布局规则 1.内部的行box(一行里所有行元素的组合)和块box全部会在垂直方向上,一个一个的放置 2.box垂直方向上的距离有margin决定,属于同一个BFC的两个相邻的box的margin会发生融合 3.每个盒子的margin的左边缘,与其父元素的左边缘相接触(如果发生了从右向左的格式化,效果相反),此条对于浮动元素依然适用。 4.BFC区域不会与float box重叠。 5.BFC区域是页面时一个独立的渲染区域,容器里的子元素不会影响外部元素,反之亦然。 6.计算一个BFC容器的高度时,浮动元素也会参与计算。 如何创建一个BFC 1.float的值不是none. 2.position的值不是static或者relative 3.display的值时inline-block,table-cell,flex,table-caption或者inline-flex 4.overflow的值不是visible。 --> <!--<div class="p1"></div> <div class="p2"></div>--> <div class="d1"> <div class="d2"></div> <div class="d3"></div> <div class="d4"></div> </div> </body> </html>
标签:class context 作用 level utf-8 form head 布局 影响
原文地址:https://www.cnblogs.com/mk0829/p/14309403.html