六种方法实现CSS三栏布局
方法一:浮动+margin
实现方法:左栏向左浮动,右栏向右浮动,中间栏不设宽度,用左右margin来撑开距离。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.left {width: 200px;height: 300px;background-color: #DC698A;float: left;}.right {width: 300px;height: 500px;background-color: #3EACDD;float: right;}.middle {height: 800px;background-color: #8CB08B;margin: 0 300px 0 200px;}</style></head><body><div class="left">左栏</div><div class="right">右栏</div><div class="middle">中间栏</div></body>
</html>
注意:该方法在html布局时,要把中间栏放在左栏,右栏的后面,左栏和右栏的顺序不定。这就导致主列所显示的主页面无法率先加载,影响用户体验。
方法二:绝对定位法
实现方法:左栏,右栏绝对定位,分别固定到页面左右两侧,中间栏宽度自适应,用左右margin来撑开距离。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.left {width: 200px;height: 300px;background-color: #DC698A;position: absolute;top: 0;left: 0;}.middle {height: 800px;background-color: #8CB08B;margin: 0 300px 0 200px;}.right {width: 300px;height: 500px;background-color: #3EACDD;position: absolute;top: 0;right: 0;}</style></head><body><div class="left">左栏</div><div class="middle">中间栏</div><div class="right">右栏</div></body>
</html>
方法三:浮动+margin负值法
实现方法:左右两栏宽度固定,中间栏宽度100%,中间栏,左栏,右栏向左浮动,左栏的margin-left设为-100%,右栏的margin-left设为-右栏宽度。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.middle {width: 100%;height: 500px;background-color: #8CB08B;float: left;}.left {width: 200px;height: 500px;background-color: #DC698A;float: left;margin-left: -100%;}.right {width: 300px;height: 500px;background-color: #3EACDD;float: left;margin-left: -300px;}</style></head><body><div class="middle">中间栏</div><div class="left">左栏</div><div class="right">右栏</div></body>
</html>
注意:该方法在html布局时,要把中间栏放在第一个,但这种情况会出现左右列覆盖中间列的情况。
方法四:圣杯布局
实现方法:在上一个方法的基础上增加了padding-left,padding-right,position:relative。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.container {padding-left: 200px;padding-right: 300px;}.middle {width: 100%;height: 800px;background-color: #8CB08B;float: left;}.left {width: 200px;height: 500px;background-color: #DC698A;float: left;margin-left: -100%;position: relative;left: -200px;}.right {width: 300px;height: 500px;background-color: #3EACDD;float: left;margin-left: -300px;position: relative;right: -300px;}</style></head><body><div class="container"><div class="middle">中间栏</div><div class="left">左栏</div><div class="right">右栏</div></div></body>
</html>
此方法的优点是主列率先加载,允许任何列是最高的。
方法五:双飞翼布局
实现方法:在第三种方法的基础上为中间列增加一个父div,让这个父div的宽度为100%,float: left,设置中间列的左右边距。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.wrap {width: 100%;float: left;}.middle {height: 800px;background-color: #8CB08B;margin-left: 200px;margin-right: 300px;}.left {width: 200px;height: 500px;background-color: #DC698A;float: left;margin-left: -100%;}.right {width: 300px;height: 500px;background-color: #3EACDD;float: left;margin-left: -300px;}</style></head><body><div class="wrap"><div class="middle">中间栏</div></div><div class="left">左栏</div><div class="right">右栏</div></body>
</html>
此方法优点是率先加载中间列,允许任何列是最高的。
方法六:Flex布局
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>CSS三栏布局</title><style>body {margin: 0;padding: 0;}.container {display: flex;}.left {flex-grow: 1;height: 200px;background-color: #DC698A;}.middle {flex-grow: 3;height: 800px;background-color: #8CB08B;}.right {flex-grow: 1;height: 300px;background-color: #3EACDD;}</style></head><body><div class="container"><div class="left">左栏</div><div class="middle">中间栏</div><div class="right">右栏</div></div></body>
</html>
此方法优点:简单高效
转载于:https://www.cnblogs.com/sunshine21/p/10880904.html
六种方法实现CSS三栏布局相关推荐
- 三种方法实现CSS三栏布局
本文由云+社区发表 作者:前端林子 本文会分别介绍三种CSS实现三栏布局的方法,可在浏览器中打开查看效果 1.方法一:自身浮动的方法 实现方法:需要左栏向左浮动,右栏向右浮动,中间设左右margin来 ...
- CSS三栏布局的7种方式代码详解 | 圣杯布局 | 双飞翼布局 | 弹性盒子
CSS三栏布局代码详解 写在前面:博主最近在转头复习最前面学的CSS,整理一下CSS三栏布局的笔记,正好也捋顺自己的逻辑思路.解析我尽量按照思路详细的写了,代码均可正确运行,留给需要的小伙伴进行参考, ...
- css三栏布局技巧,CSS-三栏布局的常用6种方法
三栏布局一般指左右两栏固定宽度,中间一栏自适应的布局方法,也是许多网站常用的布局方式.如下图: 该示例在一个html文件中编写,为方便起见,预先写好一个通用的css,左右宽度都为100px: 1.浮动 ...
- CSS || 三栏布局,两边固定,中间自适应
1 float实现 基于纯float实现的三栏布局需要将中间的内容放在HTML结构的最后,否则右侧会沉在中间内容的下侧 原理:元素浮动后,脱离文档流,后面的元素受浮动影响,设置受影响元素的margin ...
- html5+css3网页制作:三栏布局宽度自适应,css三栏布局的五种写法,中间自适应,左右宽度固定...
假设高度已知,请写出三栏布局,其中左右各位300px,中间自适应 1.左右浮动 .left { float: left; width: 300px; background: red; } .right ...
- CSS三栏布局的四种方法
1.绝对定位法 <div class="left">Left</div> <div class="main">Main< ...
- css flex布局 padding,css三栏布局的三种实现方式(圣杯布局、双飞翼布局、Flex布局)...
本篇文章给大家带来的内容是关于LNMP以源码的方式记录环境搭建的过程(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 效果图: 圣杯布局 圣杯 .container{ padd ...
- css的经典三栏布局如何实现,css 实现三栏布局的四种方式
三栏布局就是左中右,左右两边固定,中间自适应. 1. 绝对定位 左边 中间 右边 body { padding: ; margin: ; } /* 绝对定位 */ .left, .right { po ...
- CSS多栏布局-两栏布局和三栏布局
目录 前言 ------两栏布局 一.左列定宽,右列自适应 1.浮动+margin 2.浮动+BFC 3.定位 4.flex 5.浮动+负外边距 6.table布局 二.左列不定宽,右列自适应 1.f ...
最新文章
- java zookeeper_Java zookeeper开发实例
- 小程序json字符串转 json对象 { name :你好} 转成 { name :你好}
- python获取url参数 类继承_python之类的继承
- 制作精良、意犹未尽的异色推理小剧场《Tangle Tower 缠结塔》
- LiveVideoStack线上分享第五季(五):用FFmpeg搭建基于CNN的视频分析方案
- api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
- iaas层次化结构--从业务需求到设计需求
- rabbitmq 持久化_RabbitMQ原理与相关操作(三)消息持久化
- 利用循环队列的思想进行加密解密(洛谷P1914题题解,Java语言描述)
- linux 下自动重启tomcat的脚本(支持shell杀进程)
- Excel学习笔记002-005:如何按列提取不重复值
- UGUI- 单列列表(VerticalLayoutGroup)
- 20.TCP/IP 详解卷1 --- TCP 的成块数据流
- 第十二届蓝桥杯模拟赛Python组(第三期)
- mac全选文字的快捷键_mac全选的快捷键是什么?苹果电脑全选的快捷键是什么?...
- 用Changedetection监控网页的变化
- Deepin搭建Qt5开发环境
- 禅道项目管理系统安装后显示为空白
- C#版 - Leetcode 306. 累加数 - 题解
- 华擎j3455装服务器系统,华擎J3455M主板u盘重装系统win8教程