3 个回答

MDN

  1. 当应用于浮动元素时,它将元素的外边界移动到所有相关的浮动元素外边界的下方。这会影响后面浮动元素的布局,后面的浮动元素的位置无法高于它之前的元素
  2. left:元素被向下移动用于清除之前的左浮动。

首先clear推荐去看张鑫旭的准确理解CSS clear:left/right的含义及实际用途。其次,box3和box1中间还隔着个box2呢,怎么就能视若无物一起相爱相杀嘛。如果你直接把box2拿掉那一切好说,不拿掉box2你给box3加浮动那只能是顶到box2上,不可能想绝对定位一样直接飞升、想在哪就在哪的。box2的clear:left只能是抵制掉box1的浮动而已,并不是说加了个这浮动就没了。

  1. clear:left; 的意思是 div2 左侧抗浮动, 不受div1 左浮动影响;
    所以div1,div2 垂直排列
  2. div3 的左侧受到了 div2 左浮动的影响, 所以紧挨着div2 ,不会上去;;
  3. 一句话,自身清除浮动并不影响后面的元素排列;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题