container程序员打的是什么意思?

本文介绍了css - 块容器框(block container box)的定义究竟是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

按理说到这里就形成一个定义了,但是它还有下句:
块容器框只包含块级元素或建立IFC只包含行内级元素。
…………倒是把论调统一起来呀,前面不还说除了xx和xx,块级框就都是块容器框吗?块级框就是块级元素生成的框,和里面装的是什么并没有关系吧?
那么到底是什么定义了块容器框?是这个框本身的display,还是这个框里装了些什么东西?

因为position为static或relative的元素的包含块的定义又是离元素最近的祖先块容器框,所以还牵扯着包含块的定义,实在想要弄清楚,望不吝赐教,感激感激!><!

首先,是这样的,块容器框的定义的确只有最开始的那句,除了table boxes和可替换元素的块级框,以及某些非块级框,如display: inline-block、table cells等。

至于下面的半句,块容器框只包含块级元素或建立IFC只包含行内级元素。这句话其实是块容器框的特性,而不是定义。

当然,这个结果我曾经也考虑过,曾(错误地)否决的原因是,我认为块容器框中是可以同时放块级元素和行内级元素的,为什么会有只存在块级元素和行内级元素的特性?如今也理解了,原因是匿名框。如果块容器框中同时包含了块级元素和行内级元素,则会生成匿名块级框包含行内级元素,那么块容器框中自然只包含块级元素了。

同时我也疑惑过另一种情况,既然块容器框可以只包含块级元素或行内级元素,那么在同时有块级元素和行内级元素时,是生成块级匿名框只包含块级元素,还是生成行内级匿名框只包含行内级元素呢?这个其实通过常识也可以判断,但是比起常识还是相信标准,W3C这句大概可以解答:if a block container box (such as that generated for the DIV above)

也就是说,实际是以块级元素优先,以匿名块级框包裹行内级元素。而匿名行内级框实际上只在什么时候会出现呢?就是只有没有被行内框包裹的纯文本才会由父元素(or最近的祖先块容器框?存疑!存疑!存疑!)生成匿名行内级框。

块容器框特性的这句话也包含了另一个我关于IFC触发条件的疑惑。为什么这句话没有说块容器框建立BFC只包含块级元素,而直说建立IFC只包含行内级元素,是因为只要有行内级元素,就(可能由匿名框)建立了IFC。只包含行内级元素自然建立了一个IFC。而BFC的建立具有特定条件,只包含块级元素是不会触发的。

最后,最大的感想,segmentfault的资源太少了,各种站上翻译过来的文档也更加难以理解,W3C万岁,stackoverflow赛高,学好英语真的太重要了……

最后,还有一些没有明确的定义,比如BFC是否也只能包含块级元素?(所以才会有BFC中的元素一个一个竖直排列且元素左边和包含块左边接触)如果是,是否也像块容器框的特性一样,实际上是生成了匿名框?

块容器框的定义明确了,BFC的定义仍旧模糊不清。

这篇关于css - 块容器框(block container box)的定义究竟是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

}

我要回帖

更多关于 程序员是干嘛 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信