3分42秒老师说clear相当于没有给元素加浮动,这个和助教你们说的有出入

3分42秒老师说clear相当于没有给元素加浮动,这个和助教你们说的有出入

和你们助教的解释不一样,你们说的是左侧或者右侧不出现浮动元素,到底哪个是正确的

正在回答

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

3回答

同学你好!

你可能是对上节课的clear和这节课的clear有疑惑,确实这两种方式有点类似,我再帮你总结一下:
(1)上节课中老师讲的clear,是对添加浮动div元素本身设置clear:left、right或both的,添加了之后,本身的浮动就清除了, 相当于没有添加浮动,自己也不会浮动了(不会显示在一行)。
(2)本节课讲的clear,是在三个浮动div后面添加了一个空元素,给空元素添加clear:both,此时也是用来清除浮动,不过具体的来说是清除浮动之后给父元素带来的影响,这个影响就是塌陷问题,但是清除不了元素本身的浮动,所以三个元素还是排列在一行,也就是还是浮动的。
总结一下,上节课的浮动清除之后和没设置浮动一样,本节课的浮动,清楚之后还能显示在一行,主要解决的是父元素塌陷的问题。
如果帮助到了你,欢迎采纳,祝学习愉快! 

  • xchengguang 提问者 #1
    你这个说的还是有问题,如果按照你在(1)说的那个说法,在视频中有一个案列,对第一个已经右浮动的div清除浮动后,div应该会回到左边去,可是这个div还是在右边啊?你在对其他同学的回答中解释说因为clear不是对元素清除浮动效果,而是抗浮动,所以不会回到左边
    2019-07-14 16:04:17
  • 好帮手慕码 回复 提问者 xchengguang #2
    同学说的这个意思确实更加严谨,先理解下浮动给一个div造成的影响,向左或者是向右排列,不独占一行。给自身设置clear其实就是清除“不独占一行”这个机制,所以在右侧显示还是在右侧显示,不会回到左侧。(相当于不设置浮动,这句话确实太笼统,要结合实际布局来看) 祝学习愉快~
    2019-07-14 16:42:47
好帮手慕码 2019-07-14 15:28:25

同学你好!

同学可能不理解的是clear:both。在上个视频中,clear:both是给自身div加的,是抗左右浮动的,相当于没有给元素加浮动。而这个视频中,给空标签clear添加clear:both是清除box01,box02,box03的浮动,解决父级塌陷的问题,将高度撑起来

这两者是不同的。如果混淆的话,同学可以再看下两节课的视频,就能理解了

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

  • 提问者 xchengguang #1
    你的意思是clear的属性加在空元素和非空元素它的概念是完全不同的吗 我觉得有点糊涂了
    2019-07-14 15:40:34
好帮手慕码 2019-07-14 11:37:49

同学你好!

这里说的是上节课讲的清除浮动,其实意思是一样的哦,是角度不同。

以上节课中二分五十秒box02设置clear:left举例子来说:给box02设置了clear:left。它的左侧只有box01设置了左浮动,所以说对于box02左侧不出现浮动,而对于box01就相当于没有给元素添加浮动。

比较绕,同学可以根据代码来理解一下

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

  • 提问者 xchengguang #1
    但对于新手来说会有误导,希望能改过来
    2019-07-14 12:11:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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