CSS盒子之间的关系
CSS规范的思路是,首先确定一种标准的排版模式,这样可以保下设置的简单化,各种网页元素构成的盒子按照这种标准的方式排列布局,这就是“标准流”方式。
但是仅仅通过标准流的方式,很多版式是无法实现的,限制了布局的灵活性,因此CSS规范中又给出了若干种对盒子进行布局的手段,包括“浮动”属性和“定位”属性等。
一个HTML文档并不是一个简单的文本文件,而是一个具有层次结构的逻辑文档,每一个HTML元素都作为这个层次结构中的一个节点存在。每个节点反映在浏览器上会具有不同的表现形式,具体的表现形式正是由CSS来决定的。
这也恰恰验证了一个观点:CSS的目的是使网页的表现形式与内容结构分离,CSS控制网页的表现形式,HTML控制网页的内容结构。
盒子在标准流中的定位原则:行内元素之间的水平margin相加,块级元素之间的竖直margin则塌陷合并,嵌套盒子之间子盒子的总宽度为父盒子的内容。
当前面的盒子定义了float后,相当于已经脱离标准流,标准流后面的盒子,就会顶到原来的位置,而文字的话就会围绕着前面的盒子排列
注:CSS里只是用表格来布局,而不是禁止使用表格,网页的局部内容有时候用表格可以达到事半功倍。
|