为了账号安全,请及时绑定邮箱和手机立即绑定

我被浮动搞晕了,处于一种似懂非懂的状态。

我被浮动搞晕了,处于一种似懂非懂的状态。

AllySu 2017-11-24 21:00:26
<!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>混合布局</title> <style> body{ margin:0; padding:0; font-size:30px; font-weight:bold} div{ text-align:center; line-height:50px} .top{ height:100px;background:#9CF} .head{ width:960px;margin:0 auto;height:100px;background:#F90} .main{ width:960px;margin:0 auto;border:5px solid red;} .left{ width:220px; height:600px; background:#ccc;float:left;} .right{ width:740px; height:600px;background:#FCC; float:right} .r_sub_left{ width:540px; height:600px; background:#9C3; float:left} .r_sub_right{ width:200px; height:600px; background:#9FC; float:right;} .footer{ height:50px; background:#9F9;} </style> </head> <body> <div class="top">     <div class="head">head</div> </div> <div class="main">清楚看到mian撑开     <div class="left">left </div>     <div class="right">      <div class="r_sub_left">sub_left</div>         <div class="r_sub_right">sub_right</div>     </div> </div> <div class="footer">footer</div> </body> </html>     1.上面的代码没有给main设置高度时,而main没有内容或子元素又设置成了浮动,footer会跑到head的下面。    2.当给 main中添加内容时,如“清楚看到mian撑开”,看到了塌陷的父元素main被撑开了。    3.在footer类中添加  clear:both;看到footer回到底部;当添加的是clear:left时,没有变化,当添加的是clear:right时,底部向上挪动了内容“楚看到mian撑开”的高度。问题:如何理解浮动?top,main,footer是并列元素,footer受main的影响,但是main的子元素left和right是如何影响footer的?    clear:left和clear:right的结果不一样,footer是如何受到影响的?是只有  r_sub_right  吗?
查看完整描述

4 回答

?
阳火锅

TA贡献16条经验 获得超2个赞

不知道是你思维混乱,还是我功力不够理解不了你的意思。。

试着回答一下你的问题:1,main有内容就要设置高度,不要靠内容去撑。

                                          2,你看到的main撑开是你加了一个5px的边框线。

                                          3,你想让footer回到底部就给main加个高度就可以了。

我觉得这东西先达到效果再去理解比较重要。。反正这里不行就改那里,总会碰中一两个。。碰着碰着就理解了。。你不要寄希望于某一个人来用文字开拓你。。自己动手,因为毕竟CSS还是比较简单的。。我排版div的时候每个div都加一个border边框。这样比较直观。。然后我也是才学1个月的新手。。

查看完整回答
反对 回复 2017-12-15
  • AllySu
    AllySu
    有道理,坑都是时间和精力填平的
?
WEYN

TA贡献5条经验 获得超2个赞

我以前用浮动时,解决失高的问题是在浮动元素外面加一层div,然后给这个div的高度设置成auto,overflow:auto。这样footer就跑不到header下面了。

也就是给你.main{overflow:auto}


查看完整回答
反对 回复 2017-11-29
?
特辣黄焖鸡

TA贡献7条经验 获得超0个赞

建议学习flex float已经不是目前排版的主流 

另外我本来想好好解释 发现我的语言很匮乏.. 算了不说了 

查看完整回答
反对 回复 2017-11-28
  • AllySu
    AllySu
    可以试着解释,嘿嘿。找个时间看看flex float。
  • 特辣黄焖鸡
    特辣黄焖鸡
    float的建立初衷并不是排版用的 你的栗子模块太多了 建议就拿三个慢慢试 试试就懂了 但是还是建议学习flex 超好用
  • AllySu
    AllySu
    混合布局不算多……?
  • 4 回答
  • 0 关注
  • 1853 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信