css真是很奇妙,今天就遇到了一个奇怪的div的使用问题,
就是都在左边弄好后,弄右边时,右边无论相对定位怎么float还有margin-right都不能解决问题,后来参照别人的网站,就发现使用div父容器下,再分左右,然后两个都float:left就彻底解决了。这里牵涉到一个很有代表的问题,就是先做右分栏,再上下分栏,这里刚开始我是左右,然后下边又一个元素,这个时候,就不区分父子,不区分左右了,记住,左右分栏的下一个肯定是width:100%的长条,或者是clip:both清楚浮动效果的,下一个迭代的左右分栏,要不就一样会出现我现在的莫名奇妙的问题,
记住多有父子嵌套,能避免这类问题,另外还有多用margin
而不要过多的相对定位换行,否则在总体高度上会出现莫名其妙的问题,对于body
和allarea的高度的具体计算来源于就是在html彻底布局后,浏览器做的高度的判断,而不是浏览器不根据,就没有理由的得出结果。比如背景100%填充,肯定能得到默认的窗口大小,而自己100%,然后里边填个固定的div,那么此时的高度肯定是这个div的高度。另外关于float的理解,就是流布局的一种控制行为,也就是怎么输出流对齐的意思,在使用完float之后,后边不打算浮动,或者强制控制对齐的话,就可以clear掉,关于clear
left就是清除左浮动,float right就是清除右浮动。在此时的这种布局的话,你应该理解左右分栏就必须分left
right,然后float:left全左浮动,然后通行显示其他元素。否则会出现莫名其妙的问题。多用父子,多用margin ,
多用相对定位, 如果对于复杂结构的包装的话,一定要用div套住它,免得它的属性干扰了你的布局,导致出现了莫名其妙的问题。