DIV+CSS布局之圣杯布局与双飞翼布局
圣杯布局 & 双飞翼布局
简单介绍一下什么是双飞翼布局和圣杯布局:
它们俩都是为了解决三栏布局问题,左右栏宽度固定,中间栏自适应(随着父盒子大小改变而改变)。中间栏要放在中间以优先渲染。它们的布局思想略微有且差别。
废话不多说,代码奉上
hTML
<body>
<div class="main"><div class="center">center</div><div class="left">left</div><div class="right">right</div></div>
</body>
CSS
.main{margin:0 auto;height: 300px;max-width: 1000px;min-width: 600px;width: 900px; padding-left: 150px;padding-right: 250px;}.main>div{float: left;}.left{height: 100%;width: 150px;background: #ccc;position: relative;left: -150px;*/}.right{background: blue;height: 100%;width: 250px;position: relative;right: -250px;*/}.center{width: 100%;height: 100%;background: red;}
为了让他们仨在“同一水平”,三个div都设置为 float:left
结果如图:
Emmm 结果似乎不是想象中的样子,为了真的能在同一水平,我们让左右盒子外边距分别移动margin-left: -100%,margin- right:-200px;
似乎可以了,but,左右盒子把中间盒子覆盖了。于是我们可以在父盒子上设置padding-left:100px和padding-right:200px 强制把中间盒子被覆盖的部分挤到中间去。再对左右盒子用相对定位,再让左盒子相对原来的位置左移动它自身宽度,右盒子相对于原来的位置向右移动它自身宽度。
.left{height: 100%;width: 150px;background: #ccc;margin-left: -100%;position: relative;left: -150px;}.right{background: blue;height: 100%;width: 250px;margin-left: -250px;position: relative;right: -250px;}
大功告成:这样中间的盒子就可以实现自适应啦
双飞翼布局
双飞翼布局与圣杯布局原理差不多,只有略微差别。
代码奉上
HTML:
<div class="wrap"><div class="center"><div class="center-son">centerxxxxx</div></div><div class="left">lefttt</div><div class="right">right</div>
</div>
HTML结构中,.center中间多了一个子盒子—— .center-son。这是两个布局的差别所在。Go on~
CSS:
.wrap{height: 300px;width: 700px;max-width: 900px;min-width: 500px;margin:0 auto; }.wrap>div{float: left;}.center{height: 100%;width: 100%;background: yellow;/*border: 10px solid #000;*/ }
.center>.center-son{margin:0 200px 0 100px;width: 100%;}.left{height: 100%;width: 100px;background: red;margin-left: -100%;}.right{width: 200px;height: 100%;background: blue;margin-left: -200px;}
CSS和之前差不多,多了一个.center-son样式,收工,不再需要给左右盒子设置样式
总结:设置div 的 box-sizing:border-box 再给中间盒子+10px边框
清晰看到他们的区别所在
圣杯!
双飞翼
从以上两个图我们可以明显知道
圣杯的思想是:
中间盒子被覆盖的部分,通过给父盒子设置padding-left和padding-right,把中间盒子往中间挤,让它不被左右盒子覆盖。
双飞翼思想:
给中间盒子加一个子盒子,中间盒子虽然还是被覆盖着,但可以通过它的子盒子的margin-left和margin-right,让它的子盒子不被覆盖。然后在子盒子输入内容。
**双飞翼比较简单**
DIV+CSS布局之圣杯布局与双飞翼布局相关推荐
- HTML变列自适应布局三行,div自适应居中_典型的DIV CSS三行二列居中高度自适应布局...
摘要 腾兴网为您分享:典型的DIV CSS三行二列居中高度自适应布局,弈玩游戏,携程,悟空单车,我和你等软件知识,以及驾考精灵,指尖遥控,广告拦截,浙江学习网,360主题桌面,平板电脑qq,咖啡厅室内 ...
- css背景上能添加文字,如何利用div+css来给背景图片上文字布局
这段时间设计了一个专题页面,上传到网站上去,打开这个网页一看,问题来了,这网页只是一个图片,没有文字,在后台添加的时候才知道只能在图片的下面显示文字. 我想到了可以将图片设为背景,然后在上面添加问题, ...
- DIV+CSS搭建(淘宝首页)布局图
制作网页时,构建页面布局图很重要.布局前的结构划分避免造成混乱. 下面的代码只有DIV+CSS的网页结构布局.没有将最终的淘宝静态页面的代码放上去,只有布局图和最终页面的比较图. 搭建的布局图与最终效 ...
- CSS三栏布局的7种方式代码详解 | 圣杯布局 | 双飞翼布局 | 弹性盒子
CSS三栏布局代码详解 写在前面:博主最近在转头复习最前面学的CSS,整理一下CSS三栏布局的笔记,正好也捋顺自己的逻辑思路.解析我尽量按照思路详细的写了,代码均可正确运行,留给需要的小伙伴进行参考, ...
- [css] 圣杯布局 双飞翼布局
文章目录 三栏式布局 圣杯布局 方法1:使用float布局框架 , 用margin为负值 , position: relative定位 分析: 代码: 缺点 方法2:calc 方法3: flex布局 ...
- 双飞翼HTML圣杯布局,Web前端:CSS中的圣杯布局与双飞翼布局
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS不仅可以静态 ...
- 前端布局:圣杯布局/双飞翼布局(两者小小的区别)
今天逛知乎日常搜索了几个关于前端面试的问题,本以为学了react之类的框架就可以放弃css,现在想想自己真是太天真了.老前辈们说过:"Css你可以不把每一个属性全都记住,但是你一定要在你需要 ...
- 双飞翼布局与圣杯布局再理解
CSS系列之圣杯布局与双飞翼布局 文章目录 CSS系列之圣杯布局与双飞翼布局 前言 一.为什么提出圣杯布局? 二.圣杯布局 1.html代码 2.样式设置 三.双飞翼布局 html代码 css样式 前 ...
- 【经典布局】圣杯布局和双飞翼布局
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.两种布局的对比 二.使用步骤 1. 圣杯布局 2. 双飞翼布局 总结 前言 圣杯布局和双飞翼布局解决的问题是一样的 ...
- 基本布局,圣杯布局,双飞翼布局
1.圣杯布局 圣杯布局就是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证可以优先渲染. 2.双飞翼布局 双飞翼布局和圣杯布局基本是一致的,都是两边固定,中间自适应的三栏布局,主要 ...
最新文章
- 229页,CMU博士张浩毕业论文公布,探索机器学习并行化的奥秘
- Oracle11g的安装及配置
- Eclipse导入Tomcat源码
- SAP Hybris Commerce启用customer coupon的前提条件
- iphone照片删掉又出现_iPhone手机相册无法加锁应该怎么办?
- A+B Problem(洛谷-P1001)
- 数据3分钟丨GitHub开放全世界最大安全咨询数据库;DataBench-T正式开源;甲骨文283亿美元收购Cerner...
- oracle初级系列教程
- 从头开发一个 RPC 是种怎样的体验?
- Python基础教程:(小窍门)如何优化Python占用的内存
- TitleWindow的CloseButtionSkin问题
- openCV 图像阀值
- 步科触摸屏程序上传 程序解密步骤方法
- matlab在投资中的应用,实验三 MATLAB在投资组合中的应用(答案)
- 矩阵转置相关公式_线性代数精华2——逆矩阵的推导过程
- delaunay三角剖分与delaunay四面体
- 学角色建模好还是场景建模?5个角度分析,教你选择最合适的
- (三)沟通管理风险管理采购管理@相关方管理
- 记录下我磕磕碰碰的三个月找工作经历,最强技术实现
- 卡巴斯基:2019Q3拒绝服务攻击趋势报告
热门文章
- C语言实现简单卡尔曼滤波
- [附源码]计算机毕业设计Python+uniapp作业批改系统APP4238p(程序+lw+APP+远程部署)
- 发布了每日一文应用,每日一文,每天阅读,简单生活。每天精选一篇不同的文章,也可以随机阅读往日精选文章...
- 【动态规划】爬楼梯爬的不仅仅是楼梯
- 遇见你,是最美的意外
- 2013网易校园招聘笔试题
- Unity资源缓存(内存)
- JDBC查询超时时间设置
- 计蒜客T1005输出字符三角形
- allrgro17.2转AD19方法,实测