老师 浮动之后对前面元素无影响 浮动至下一行左右边框顶端但为什么前面是行内元素会出现重叠呢

老师 浮动之后对前面元素无影响 浮动至下一行左右边框顶端但为什么前面是行内元素会出现重叠呢

老师   浮动之后对前面元素无影响  浮动至下一行左右边框顶端但为什么前面是行内元素会出现重叠呢
<!DOCTYPE html>
<html>
       <head>
<title></title>
<meta charset="utf-8" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<style type="text/css">
     *{
margin:0px;
padding:0px;
}
      .one{
  background:orange;
  }
  div{
  background-color:red;
  width:500px;
  height:500px;
  }
  p.tow{
  width:50px;
  height:50px;
  background-color:yellow;
  float:left;
  }
</style>
   </head>
   <body>
    <div>
  <span class="one">vhhfc</span>
<p class="tow"></p>
</div>
   </body>
</html>

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好!
(1)内联元素(行内元素)如果标签中没有文字,则是没有宽高的,因此不占位置,所以下面元素浮动,脱离文档流,会上移到上面的空位置中去。(这种情况少见,因为内联元素不设置文字,即是无意义)

如果有文字,文字则一定会显示出来,如上代码,文字就会环绕在浮动块级标签周围。

(2)块级标签是有宽高的,因此是占位置的,下面的元素浮动,脱离文档流,上面没有空位置,因此不会上移。

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 慕函数5286462 提问者 #1
    还是不明白 就是后面浮动元素为什么不盖住前面的块级元素
    2019-04-29 15:37:15
  • 慕函数5286462 提问者 #2
    同样行内元素也有内容却被盖住了
    2019-04-29 15:38:45
  • 好帮手慕码 回复 提问者 慕函数5286462 #3
    同学你好! 首先要知道:后面的浮动元素是不会影响前面的元素的。只能是影响后面的元素 其次:因为前面的块级元素有宽度高度,这个块级元素在页面中是占位置的,所以浮动的元素因为前面没有空位置不会上移,因此不会盖住前面的块级元素~ 祝学习愉快~
    2019-04-29 15:47:31
好帮手慕码 2019-04-29 13:07:40

同学你好!

根据代码测试,没有发生重叠哦~

这里p标签浮动之后,脱离了文档流, 元素位置会上移,只会对后面元素的位置造成影响,对前面的元素的位置不会造成影响, 

这里依据文字的特性, 文字一定要显示出来,此时它就围绕着浮动元素排列,效果如图:

http://img1.sycdn.imooc.com//climg/5cc677de0001d90e02420146.jpg

这一块比较绕,建议同学可以多练习此类代码,结合这代码来理解浮动这块的内容~

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 提问者 慕函数5286462 #1
    也就是上移之后 块元素盖住行内元素了是嘛
    2019-04-29 13:38:53
  • 提问者 慕函数5286462 #2
    而块级为什么就不会出现这种情况 若是前面块级元素则会浮动至下一行左右侧
    2019-04-29 13:40:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师