转载:CSS实现三栏布局的四种方法示例
2018-06-24 00:57:18来源:未知 阅读 ()
转载网址:http://www.jb51.net/css/529846.html
前言
其实不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景。
所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式。
1.绝对定位法
HTML代码如下:
<div class="left">Left</div> <div class="main">Main</div> <div class="right">Right</div>
2. 圣杯布局
HTML代码如下:
//注意元素次序 <div class="main">Main</div> <div class="left">Left</div> <div class="right">Right</div>
CSS代码如下:
//习惯性的CSS reset
body,html{
height:100%;
padding: 0;
margin: 0
}
//父元素body空出左右栏位
body {
padding-left: 100px;
padding-right: 200px;
}
//左边元素更改
.left {
background: red;
width: 100px;
float: left;
margin-left: -100%;
position: relative;
left: -100px;
height: 100%;
}
//中间部分
.main {
background: blue;
width: 100%;
height: 100%;
float: left;
}
//右边元素定义
.right {
background: red;
width: 200px;
height: 100%;
float: left;
margin-left: -200px;
position: relative;
right: -200px;
}
相关解释如下:
(1)中间部分需要根据浏览器宽度的变化而变化,所以要用100%,这里设左中右向左浮动,因为中间100%,左层和右层根本没有位置上去
(2)把左层margin负100后,发现left上去了,因为负到出窗口没位置了,只能往上挪
(3)按第二步这个方法,可以得出它只要挪动窗口宽度那么宽就能到最左边了,利用负边距,把左右栏定位
(4)但由于左右栏遮挡住了中间部分,于是采用相对定位方法,各自相对于自己把自己挪出去,得到最终结果
3. 双飞翼布局
HTML代码如下:
<div class="main"> <div class="inner"> Main </div> </div> <div class="left">Left</div> <div class="right">Right</div>
CSS代码如下:
//CSS reset
body,html {
height:100%;
padding: 0;
margin: 0
}
body {
/*padding-left:100px;*/
/*padding-right:200px;*/
}
.left {
background: red;
width: 100px;
float: left;
margin-left: -100%;
height: 100%;
/*position: relative;*/
/*left:-100px;*/
}
.main {
background: blue;
width: 100%;
float: left;
height: 100%;
}
.right {
background: red;
width: 200px;
float: left;
margin-left: -200px;
height: 100%;
/*position:relative;*/
/*right:-200px;*/
}
//新增inner元素
.inner {
margin-left: 100px;
margin-right: 200px;
}
圣杯布局实际看起来是复杂的后期维护性也不是很高,在淘宝UED的探讨下,出来了一种新的布局方式就是双飞翼布局,代码如上。增加多一个div就可以不用相对布局了,只用到了浮动和负边距。和圣杯布局差异的地方已经被注释。
4. 浮动
HTML代码如下:
//注意元素次序 <div class="left">Left</div> <div class="right">Right</div> <div class="main">Main</div>
CSS代码如下:
//CSS reset
body,html {
height:100%;
padding: 0;
margin: 0
}
//左栏左浮动
.left {
background: red;
width: 100px;
float: left;
height: 100%;
}
//中间自适应
.main {
background: blue;
height: 100%;
margin:0px 200px 0px 100px;
}
//右栏右浮动
.right {
background: red;
width: 200px;
float: right;
height: 100%;
}
这种方式代码足够简洁与高效,也容易理解
总结
以上就是这篇文章的全部内容了,四种方法其实只有圣杯布局和双飞翼布局较难理解,但实际上理解了圣杯布局,双飞翼布局自然就理解了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash