css三栏式布局
来源:互联网 发布:r语言数据分析实例 编辑:程序博客网 时间:2024/06/06 03:33
css的三栏式布局
所谓的三栏式布局,指的就是在一个容器里三个div,呈左中右并列排布。其中左右两栏宽度固定,中间一栏根据浏览器窗口宽度自适应。这是一种很常见的布局方式。根据自己的总结和查阅资料,现对三栏布局的方法作以总结。
1.普通方法
html代码:
<div class="box"> <div class="left"></div> <div class="right"></div> <div class="middle"></div> </div>
css代码
<style type="text/css"> *{ padding:0; margin: 0; } .box{ width: 100%; overflow: auto; } .left{ width: 100px; height: 500px; background: lightblue; float: left; } .middle{ height: 500px; background: lightpink; margin-left: 100px; margin-right:100px; } .right{ width: 100px; height: 500px; background: lightgreen; float:right; } </style>
要点
(1)左右栏通过“左浮动”和“右浮动”的方式被固定到窗口两端。
(2)中间一栏设置margin-left和margin-right为左右栏的宽度个像素,然后因为浮动元素脱离文档流的特性,中间一栏就会自动嵌入到左右栏的中间。
2.传说中的“圣杯模型”
html代码:
<div class="box"> <div class="middle"></div> <div class="left"></div> <div class="right"></div> </div>
css代码:
<style type="text/css"> *{ padding: 0; margin: 0; } .box{ height: 500px; padding:0 100px; } .left{ width:100px; height: 500px; background: lightblue; margin-left: -100%; float: left; position: relative; left:-100px; } .middle{ width: 100%; height: 500px; background: lightpink; float: left; } .right{ width:100px; height: 500px; background: lightgreen; margin-left: -100px; float: left; position: relative; left:100px; } </style>
要点
(1)html结构为:中左右。将中间一栏的宽度设为100%,左右两栏根据实际情况设置固定的宽度。三栏都设置左浮动。效果为:中间一栏独占一行,左右两栏排列在其下面。
(2)现在要使左右两栏在其适当位置。 第一步,通过设置外层div 的padding-left为左栏宽度和padding-right为右栏宽度的方式为左右两栏预留出位置。第二步,通过设置-margin把左右两栏赶上去。.left的margin-left设置为-100%。100%指的是中栏的width,若为正,是指左栏的左边距父元素左边的距离为中栏width个像素,若为负,我们可以理解为反方向距父元素的左边100%个像素。由于左栏现在所处的位置紧靠父元素的左边,所以左栏刚好上移了中栏个宽度,就移至了中栏的左边,并且与中栏的一部分重合。右栏的margin-left设置为-右栏宽度,原因亦然。第三步,通过给左右栏设置相对定位的方式,使其固定到之前预留的位置上。
3.双飞翼
html代码:
<div class="box"> <div class="middle"> <div class="middle-inner"></div> </div> <div class="left"></div> <div class="right"></div> </div>
css代码:
<style type="text/css"> *{ padding: 0; margin: 0; } .box{ height: 500px; } .left{ width:100px; height: 500px; background: lightblue; margin-left: -100%; float: left; } .middle{ width: 100%; height: 500px; float: left; } .middle-inner{ margin:0 100px; height: 500px; background: lightpink; } .right{ width:100px; height: 500px; background: lightgreen; margin-left: -100px; float: left; } </style>
要点
(1)和圣杯模型不同的是,中间一栏包含一个div,通过给.inner-middle设置margin的方式为左右两栏预留出位置,而且不用通过相对定位的方式把左右两栏固定到其位置,而是直接通过-margin的方式。
- div+css三栏式布局
- CSS实现三栏式布局
- CSS三栏式布局
- CSS三栏式布局
- css三栏式布局
- css三栏式布局
- div+css 三栏式布局
- div+css三栏式布局实例
- Html+CSS三栏式伸缩布局
- css布局
- css布局
- css布局
- css-布局
- css布局
- css 布局
- css布局
- CSS~~布局
- css布局
- 借助Stetho在Chrome上调试Android网络&数据库
- MySQL数据库(五)外键约束
- JVM之执行引擎
- 基于安卓平台,客户端视频监控的实现(三)
- 进击的小白php1
- css三栏式布局
- MYSQL主从复制的几种方式
- AOP
- Could not find com.android.tools.build:gradle:3.3
- 读《分布式数据库架构及企业实践》---笔记三
- LTE-TDD资源调度(3)-测量GAP
- spring mvc freemarker下载word文档
- PowerDesigner 导入数据库建表SQL脚本生成物理模型
- Git 使用的实践与规范