您现在的位置是:网站首页> 编程资料编程资料
CSS实现三栏布局的四种方法示例CSS经典三栏布局方案(6种方法)浅谈CSS三栏布局的N种实现CSS三栏布局探讨——中间固定宽度两边自适应宽度CSS Float布局过程与老生常谈的三栏布局 DIV+CSS 三栏布局实例代码css实现三栏布局的几种方法及优缺点
2023-10-21
280人已围观
简介 可能有人不理解三栏布局是什么,其实三栏布局页面分为左中右三部分,然后对中间一部分做自适应的一种布局方式,下面这篇文章就给大家详细介绍了CSS实现三栏布局的四种方法,需要的朋友可以参考借鉴,下面来一起看看吧。
前言
其实不管是三栏布局还是两栏布局都是我们在平时项目里经常使用的,也许你不知道什么事三栏布局什么是两栏布局但实际已经在用,或许你知道三栏布局的一种或两种方法,但实际操作中也只会依赖那某一种方法,本文具体的介绍了三栏布局的四种方法,并介绍了它的使用场景。
所谓三栏布局就是指页面分为左中右三部分然后对中间一部分做自适应的一种布局方式。
1.绝对定位法
HTML代码如下:
LeftMainRight
CSS代码如下:
//简单的进行CSS reset body,html{ height:100%; padding: 0px; margin:0px; } //左右绝对定位 .left,.right{ position: absolute; top:0px; background: red; height:100%; } .left{ left:0; width:100px; } .right{ right:0px; width:200px; } //中间使用margin空出左右元素所占据的空间 .main{ margin:0px 200px 0px 100px; height:100%; background: blue; }该方法有个明显的缺点,就是如果中间栏含有最小宽度限制,或是含有宽度的内部元素,当浏览器宽度小到一定程度,会发生层重叠的情况。
2. 圣杯布局
HTML代码如下:
//注意元素次序MainLeftRight
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代码如下:
MainLeftRight
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代码如下:
//注意元素次序LeftRightMain
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%; }这种方式代码足够简洁与高效,也容易理解
总结
以上就是这篇文章的全部内容了,四种方法其实只有圣杯布局和双飞翼布局较难理解,但实际上理解了圣杯布局,双飞翼布局自然就理解了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流。
相关内容
- 手把手教你用CSS实现带箭头的流程进度条HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例CSS实现进度条和订单进度条 CSS3制作彩色进度条样式的代码示例分享基于CSS3实现可按进度百分比变色的进度条CSS3+JS实现iOS8风格loading加载进度条特效源码使用CSS实现阅读进度条
- 前端编码规范(4)—— CSS 和 Sass (SCSS) 开发规范详解利用css3的var()实现运行时改变scss的变量值uni-app中使用scss的示例代码scss使用mixin不生效(浏览器无法编译出来)的解决方法手机端用rem+scss做适配的详解CSS3 真的会替代 SCSS 吗
- web前端开发规范文档(2014年版本)html5+CSS3的编码规范前端编码规范(4)—— CSS 和 Sass (SCSS) 开发规范Web前端开发规范2017(HTML/JavaScript/CSS)web前端开发规范文档(2014年版本)响应式Web之流式网格系统 在网页标题栏上和收藏夹显示网站logo的实现方法Visual Foxpro 6.0 中文版安装向导(图解)网站日志200 0 64状态码的分析(协议子状态)W3C是什么意思 W3C标准简介有关网站网页设计中的那些事儿分享
- CSS3实现内凹圆角的实例代码css3图片边框border-image的用法css3 边框、背景、文本效果的实现代码利用CSS3伪元素实现逐渐发光的方格边框一篇文章带你学习CSS3图片边框
- css3+伪元素实现鼠标移入时下划线向两边展开的效果浅谈CSS3鼠标移入图片动态提示效果(transform)纯css写的评分鼠标移入的效果附图纯CSS实现商品图片点击放大效果CSS实现鼠标移入时图片的放大效果及缓慢过渡效果的示例代码
- 啪啪三国吕玲绮技能属性详细介绍_手机游戏_游戏攻略_
- 啪啪三国 关羽详细介绍_手机游戏_游戏攻略_
- 啪啪三国 张馨予小乔详细介绍_手机游戏_游戏攻略_
- 格斗江湖 神兵灵珠系统进阶玩法_手机游戏_游戏攻略_
- 爱情公寓 手游A卡属性一览_手机游戏_游戏攻略_
