双飞翼布局
双飞翼布局中,在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
示例
<!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 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星