遇到别人提的2个问题,以前虽然经常解决完就算,但真要问到为什么,那时的反应却真可说是呆若木鸡……
1、<div><img></div>为什么在IE6图片的边缘会有空白?
解决的方法有很多:
a.给div设overflow:hidden或font-size:0
b.给img设float或display:block或vertical-align
但究其原因,也许是IE6中<img>始终带有haslayout,而在此情况下IE6对行高和line-box的解释不正确有关
c.另大多htm是这样写的,如下方式会出现空白。
<td>
<img src=''>
</td>
上述代码改成
<img src=''> </td>
</td>与<img 写在同一个行上也不会出现空白
2、这样的结构:<span>text</span><p style="float:right">abc</p>,为什么那个p不是和内联元素在同一行呢?
流行的做法有很多:
a.改成这样的结构:text<p style="float:right">abc</p>
b.让span也浮动
原因呢?其实这是我们对浮动、inline box的概念不清;
和clear相似,w3对float的解释:
The element generates a block box that is floated to the left. Content flows on the left side of the box,