关于css浮动覆盖的问题

浮动的定义:"浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一... 浮动的定义:
"浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。"

比如我有两张图片,图a不浮动,图b向左浮动。那根据定义,图a作为普通流块框应该被图b覆盖才对,可是实际上并没有被覆盖。这是为什么呢?
代码:
<style>
img.left {float:left}
</style>

<img src="a" />
<img class="left" src="b">

根据定义,图a就是普通流的块框,表现得就像图b不存在一样,应该就是被图b覆盖或者覆盖图b,可是为什么并没有覆盖而是并排的?
展开
 我来答
匿名用户
推荐于2016-06-02
展开全部
html元素有几个是块级元素如p,h1-h6等,这些元素自带display block属性,元素间相当于会有一个换行符不能同排排列,除非定义浮动。而img是内联块元素也就是display inline-bloack,可以并排显示的。 两个元素一个加了浮动一个没加浮动,只会是浮动的优先排列在左或者右,也就是没有浮动的元素会被有浮动的拆队。除非2个元素都是浮动的他们才会老老实实的按顺序排在一起。浮动不是覆盖只是位置的先后罢了,便于将不同类型的元素并排。css里没有覆盖之说。你写的例子最终效果就是b图排在a图左边而已。
更多追问追答
追问

谢谢你的回答,实际确实两张图是并排的

但是下面这张从w3school.com.cn的教程说是覆盖的,不知道是教程错了吗?

参考:http://www.w3school.com.cn/css/css_positioning_floating.asp

追答
这个是文档流,不是块级元素,块元素怎么都不会被覆盖。文档流因为没有实实在在的区域所以会被覆盖,就向水一样。而块级就象肥皂一样。display:block 这个属性你在熟悉下吧。
百度网友2d18e73
2018-04-02
知道答主
回答量:1
采纳率:0%
帮助的人:883
展开全部
为啥我的是一列地排,是不是我的图片太宽了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuebaotuxi
2014-08-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1040万
展开全部
上一下这部分的html代码看看
追问
上了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式