日期:2014-05-17  浏览次数:20654 次

DIV+CSS布局规则真奇葩
今天刚接触这个东西,看了N多网页,都说不清楚,自己实验总结了一下,当然不全面,但是感觉真奇特:

其实下面这几个属性最重要:
HTML code

    float:left;
    position:relative;
    top:0px;
    left:10%;
    width:30%;




float:left其实基准点,为左上角,这个应该比较常用,其实只这一种基本就能满足任何要求,只是其它方式可能特定的场合方便一些。

position:relative; 相对于父级或者上一个DIV的左上角来计算。

top 这个DIV相对于前个DIV的左上角Y坐标。
left 奇葩的计算方式,相对于前面DIV的宽度之和+这个值,才是自己的x坐标,而前面div的偏移无视。这就导致你必须知道前面div的x偏移和宽度才能正确定位。
right和bottom的值直接无视。那要这个属性干什么?就像一个控制面板,你不知道那个钮能用,那个钮不能用,但是都摆在那里。

子div的宽度和高度,默认和父级div相同,即使有x和y偏移,仍然倔强的伸出来,这父级根本包不住子div。


------解决方案--------------------
楼主明显对DIV+CSS带着点情绪在学习吧,你说的奇葩当然我并不认为是那样的,left的计算方式,当然只算自己的坐标就好了,为什么要算他父div的偏移呢?真这样弄的话,那才是真奇葩了呢。
我认为,DIV+CSS这个方式,慢慢的变主流的,table布局会越来越少见
------解决方案--------------------
探讨

楼主明显对DIV+CSS带着点情绪在学习吧,你说的奇葩当然我并不认为是那样的,left的计算方式,当然只算自己的坐标就好了,为什么要算他父div的偏移呢?真这样弄的话,那才是真奇葩了呢。
我认为,DIV+CSS这个方式,慢慢的变主流的,table布局会越来越少见