双飞翼布局
双飞翼布局中,在main内部的main-inner div设置margin是给双翼留有空间,main的content宽度仍旧是100%,双翼是不是会覆盖部分main的content?由于都处于float,双翼可以覆盖到main上?
0
收起
正在回答 回答被采纳积分+1
1回答
樱桃小胖子
2018-07-23 10:42:12
双飞翼布局的实现原理:
(1)html代码中,main中间部分要放最前边,然后是左翼、右翼
(2)将main中间部分、左翼、右翼都float:left
(3)将main中间部分宽度设置成width:100%
(4)此时main占满全屏,所以要把左翼拉到最左边,使用margin-left:-100% 同理右翼使用margin-left:-220px(右翼的宽度)
(5)到这一步骤,会发现main内容被覆盖了,解决办法有两种
①除了使用外围的padding
②也可以使用margin
具体实现方法是:给main增加一个内层<div class="main-inner">main</div>, 然后margin:0 右翼宽度px 0 左翼宽度px
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <!DOCTYPE html> < html > < head > < meta charset = "utf-8" > < title ></ title > < style type = "text/css" > * { margin: 0; padding: 0; } body { min-width: 700px; } .header, .footer { border: 1px solid #333; background: #aaa; text-align: center; } .left, .main, .right { float: left; min-height: 130px; } .left { margin-left: -100%; width: 200px; background: red; } .right { margin-left: -220px; width: 220px; background: blue; } .main { width: 100%; } .main-inner { margin-left: 200px; margin-right: 220px; min-height: 130px; background: green; word-break: break-all; } .footer { clear: both; } </ style > </ head > < body > < div class = "header" > < h4 >header</ h4 > </ div > < div class = "main" > < div class = "main-inner" > < p >慕课网main</ p > </ div > </ div > < div class = "left" > < p >慕课网left</ p > </ div > < div class = "right" > < p >right</ p > </ div > < div class = "footer" > < h4 >footer</ h4 > </ div > </ body > </ html > |
希望能够解答你的疑惑。祝学习愉快!
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧