CSS的一些名词和概念,用来帮助你更清楚地描述HTML/CSS世界中的事物。box在CSS中,一个元素可以看作是一个盒子。具体可以参考盒模型的解释,这里不再展开。包含块Box的位置和大小是根据称为包含块的边界计算的。块级元素和块盒块级元素一般是指HTML中特定类型的元素,如div、p、ul等。块盒是指构成块格式化上下文的盒。可以确定,正常的块级(不改变其位置、显示等默认属性值)可以构成一个BFC。但是,如果元素的display属性值为'block'、'list-item'或'table'之一,它也可以在外部显示块级元素的行为。它也将成为一个块框。BFC(Blockformattingcontexts)什么情况下会生成一个BFC:根元素float元素(float属性不是none)显示:block,table-cell,table-captain,list-item,table,table-row,table-row-group,table-header-group,table-footer-groupposition都是绝对元素(absolutepositioning)overflow不等于BFC中的visibleflex元素grid元素,形成一个独立的布局环境,里面元素的布局位置不会受外界因素影响。IFC(Inlineformattingcontexts)对应BFC,一个inline元素默认也形成一个IFC(inlineformattingcontext)。IFC有一个不同于常识的特点:当行内级框的宽度大于父容器的宽度时,会被拆分成多个行内级框;当属性方向为ltr时,margin/border/padding-left将作用于第一个行内级框,margin/border/padding-right将作用于最后一个行内级框;如果属性direction为rtl,margin/border/padding-right作用于第一个inline级框,margin/border/padding-left作用于最后一个inline级框;
