CSS3兼容问题
li设为display:inline-block,然后ul一个text-align:center,美中不足的是ie6,7不认识display:inline-block。
解决办法:在原先display:inline-block;下加上*display:inline;zoom:1;这两句即可。display:inline使li排成一行,zoom:1则触发li的haslayout。
当子元素float ,父元素强制包裹子元素可以都float ,也可以 父元素:overflow:hidden ;zoom:1;
hasLayout到底是何方神圣?
hasLayout可以简单看作是IE5.5/6/7中的BFC(Block Formatting Context)。也就是一个元素要么自己对自身内容进行组织和尺寸计算(即可通过width/height来设置自身的宽高),要么由其containing block来组织和尺寸计算。而IFC(即没有拥有布局)而言,则是元素无法对自身内容进行组织和尺寸计算,而是由自身内容来决定其尺寸(即仅能通过line-height设置内容行距,通过行距来支撑元素的高度;也无法通过width设置元素宽度,仅能由内容来决定而已)
当hasLayout为true时(就是所谓的"拥有布局"),相当于元素产生新BFC,元素自己对自身内容进行组织和尺寸计算;
当hasLayout为false时(就是所谓的"不拥有布局"),相当于元素不产生新BFC,元素由其所属的containing block进行组织和尺寸计算。