自己对于圣杯布局和双飞翼布局的一些理解
2016-03-17 12:20
471 查看
首先圣杯布局和双飞翼布局的差异体现在 都是想给左右浮动空出位置。
那么就只有两条路可以走:
1:用padding的方法 padding:0 100px;
2.用margin的方法 margin:0 100px;
用第一种方法走到底就是 圣杯布局,用第二种方法走到底就是 双飞翼布局。,
第一种方法 代码如下
效果图:
圣杯布局要注意的是:main中间部分需要放在第一个加载。另外中间部分宽度为100%撑满正行,左右侧边栏利用负margin上来。最后用position:relative将左右两侧边栏移到两边。
双飞翼布局
代码如下:
双飞翼的布局感觉思路就是。如果左右两侧边栏要和我main抢位置?那我为什么不直接空出来位置好了。不和你们抢了。
就给main加个div。让这个div宽度取100% 和left和right浮动起来,然后main取一个margin:0 200px;把左右侧边栏的的位置给空出来 不就行了么?
然后用负margin 让left和right移动上去。
那么就只有两条路可以走:
1:用padding的方法 padding:0 100px;
2.用margin的方法 margin:0 100px;
用第一种方法走到底就是 圣杯布局,用第二种方法走到底就是 双飞翼布局。,
第一种方法 代码如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>圣杯布局</title> <style> .header,.footer{ height:100px; width:100%; background:red; clear:both; } .content{ padding:0 200px; overflow: auto; } .main{ width:100%; float:left; height:100px; background:yellow; } .left{ width:200px; height:100px; background:pink; float:left; margin-left:-100%; position: relative; left:-200px; } .right{ width:200px; height:100px; background:green; float:left; margin-left:-200px; position: relative; left:200px; } </style> </head> <body> <div> <div class="header"> 头部 </div> <div class="content"> <div class="main">中间部分。</div> <div class="left">左侧边栏</div> <div class="right">右侧边栏</div> </div> <div class="footer"> 页脚 </div> </div> </body> </html>
效果图:
圣杯布局要注意的是:main中间部分需要放在第一个加载。另外中间部分宽度为100%撑满正行,左右侧边栏利用负margin上来。最后用position:relative将左右两侧边栏移到两边。
双飞翼布局
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>双飞翼布局</title> <style> .header,.footer{ height:100px; width:100%; background:red; clear:both; } .main_link{ width:100%; height:100px; background:yellow; float:left; } .main{ margin:0 200px; } .left{ width:200px; height:100px; background:pink; float:left; margin-left:-100%; } .right{ width:200px; height:100px; background:green; float:left; margin-left:-200px; } </style> </head> <body> <div class="header">头部</div> <div class="content"> <div class="main_link"> <div class="main">中间部分</div> </div> <div class="left">左侧边栏</div> <div class="right">右侧边栏</div> </div> <div class="footer">页脚</div> </body> </html>
双飞翼的布局感觉思路就是。如果左右两侧边栏要和我main抢位置?那我为什么不直接空出来位置好了。不和你们抢了。
就给main加个div。让这个div宽度取100% 和left和right浮动起来,然后main取一个margin:0 200px;把左右侧边栏的的位置给空出来 不就行了么?
然后用负margin 让left和right移动上去。
相关文章推荐
- A Fast Single Image Haze Removal Algorithm Using Color Attenuation Prior——基于颜色衰减先验单图片去雾算法原理
- iOS开发实用工具——CornerStone配置SVN
- 关于httpurlconnection getcontentlength返回值为-1的问题
- srm 541
- C++某些函数的介绍
- HDU1078 FatMouse and Cheese(记忆化搜索)
- 夺命雷公狗---DEDECMS----6快速入门之总结篇
- 复利计算3.0
- 301和302的区别
- java.lang.reflect.invocationtargetexception 错误问题。。
- Libevent源码分析(三)--- IO多路复用模型
- 使用apicloud完成消息推送功能
- 蒲峰投针实验
- iOS-WebKit之WKWebView(一个高性能的WebView)
- Java初级工程师面试题精选1
- 《剑指offer》:行列有序的二维数组查找()
- UITableview
- 第三周项目四穷举法解决组合问题
- ajax load事件
- Android实现将控件等View转化为Bitmap对象,通过ImageView显示的功能