为什么设置了float的div会遮住第二个div,而当第二个div不是div而是p时却不会被遮住,而是环绕在右边?(包括img标签)

个人总结:

就是float覆盖不能覆盖文字 就对了。3个div1,2,3,   div1浮动了,2,3向上,1覆盖了2,2的文字还是会显示的,不过可能排版不太好看,文本会出现在下一行中,就是div3上。

 另:

img标签:

复制代码
 1 <html>
 2 
 3 <head>
 4 <style type="text/css">
 5 img
 6   {
 7 width:200px;
 8 height:200px;
 9   }
10 div{
11 width:200px;
12 height:200px;
13   }
14 </style>
15 </head>
16 
17 <body>
18 <img src="#" alt="sb" style="float:left;border:2px solid red;display:block"/>
19 <img src="" style="border:2px solid green;display:block"/>
20 <div style="float:left;border:2px solid red;display:block">1</div>
21 <div style="border:2px solid green;display:block">2</div>
22 </body>
23 
24 </html>
View Code
复制代码

img不能覆盖。而且设置了display:block也是显示为行内元素的样子!!

 

 

原文:http://www.zhihu.com/question/22698326/answer/22304976

为什么设置了float的div会遮住第二个div,而当第二个div不是div而是p时却不会被遮住,而是环绕在右边?

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
</script>
</head>
<body>
<div style="width:100px;height:30px;background:#333;float:left;"></div>
<div style="width:120px;height:40px;background:#ccc;"></div>
<!--
<p>文字部分</p>
-->
</body>
</html>
 
posted @   阿玛  阅读(2208)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示