display, position和float的关系

Css属性:display, position和float的关系,参考:CSS2.1中的定义 

  • 如果一个元素的display属性被设置为none,那么就不会生成元素对应的box,这种情况下,float和position被忽略
  • 否则(display非none),如果一个元素的position属性被设置为absolute或者fixed(都是绝对定位),这种情况下,float被忽略(float计算的值为none),display属性的值根据下表自动计算。box的位置取决于属性top,right,bottom,left以及box的容器
  • 否则(display非none,并且position非absolute、fixed),如果float的值不为null(为left或者right),那么box是浮动的并且display的值根据下表来计算
  • 否则(display非none,并且position非absolute、fixed,float为none),如果元素是根元素,display的值根据下表来计算。(这种情况下有一个例外:在CSS2.1中定义,当display被指定的值是list-item时,计算结果的display的值为block或者list-item)
  • 否则(display非none,并且position非absolute、fixed,float为none,不是根元素),那么就按照被指定的display的属性值来显示。


表格 display属性转换: 

    • 指定值 inline-table   转成table
    • 指定值 inline, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell, table-caption, inline-block    转成block
    • 其他任何的指定值都保持不变
posted @ 2013-06-20 17:23  忍阳  阅读(959)  评论(0)    收藏  举报