急急急,请问css的span换行问题?

急急急,请问css的span换行问题?
<style>
body{
margin:0px;
}
.a{
border:1px solid red;
}
.b{
border:1px solid black;

}
</style>

<span class="a">111</span>
<div class="b">222</div>

ie和火狐中,显示出来效果是span一行,div一行,

为什么在span后面要写两个<br>后,div才换新的一行啊?只写一个<br>的话div就不换行,为啥?

而在span前面只要写一个<br>后,span就换行了.

第二个问题:火狐中为啥span的底边会盖住div的顶边,在ie中div的顶边会盖住span的底边,为啥?

因为<span>标签中的内容会被定义为“行内元素”,因此有换行功能的</br>可以很好的控制它。<div>标签中的内容会被定义为“块级元素”,<br>对它进行控制就很困难了!

lz如果想要控制div和span之间的距离可以使用padding margin 或
position定义。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-19
用clear:left;
第2个回答  2019-05-29
1.换行问题:<br
/>的意思就是换行,
在下
一行中写入新内容,而刚好div本身就是在单独的行中显示,所以出现加不加<br
/>都是一样的效果.
2.这个只能理解为
浏览器
的解析问题了.
你把body{margin:0px;}
去掉后还会发现在IE7中<span>的上半部分红色border消失.
IE就是如此难以理解.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网