前端三栏布局(包括圣杯,双飞翼)

简介: 前端三栏布局(包括圣杯,双飞翼)

三栏布局

  • 问:那什么叫做三栏布局呢?
  • 答:一般将左右两栏固定,中间宽度自适应称为三栏布局


前言:一直说抽时间把三栏布局的代码总结一下,总一直没时间没时间,感觉自己犯了拖延症了,不能再拖了,再拖下去,都不知道啥时候才写这个呀!!!(怕不是真有拖延症了吧,快快行动起来)


本文规范:为了叙述方便,故以类名代表相应的元素

上课中:

第一种情况(定位:position)

  • 利用绝对定位,左右两栏设置为绝对定位,中间设置对象方向的margin值

CSS代码

.outer{
position: relative;
height: 100px;
color: white;
}
.left,
.right{
position: absolute;
}
.left{
width: 100px;
height: inherit;
background: rgb(177, 177, 226);
}
.center{
margin-left: 100px;
margin-right: 200px;
height: inherit;
background: black;
}
.right{
top: 0;
right: 0;
width: 200px;
height: inherit;
background: tomato;
}
 

HTML代码


  • 结果
  • 补充:定位为absolute的元素脱离文档流,不保留之前在文档流中的空间,他是浮在页面上,当与元素重叠时,默认在元素上边。


第二种情况(flex布局)

利用flex布局,中间使用(flex:1,其实使用的是flex-grow:占据剩余空间)


CSS代码

.outer{
height: 100px;
display: flex;
color: white;
}
.left{
width: 100px;
background: rgb(177, 177, 226);
}
.right{
width: 200px;
background: tomato;
}
.center{
flex-grow: 1;
background: black;
}
 

HTML代码


  • 结果



第三种情况(浮动:float)

  • 浮动,左右两栏设置固定大小,并设置对应方向的浮动。中间一栏设置左右两个方向的margin值。这种方式需要把中间一栏放到最后

CSS代码

height: 100px;
color: white;
font-size: 20px;
}
.left{
width: 100px;
height: inherit;
float: left;
background: rgb(177, 177, 226);
}
.right{
float: right;
width: 200px;
height: inherit;
background: tomato;
}
.center{
height: inherit;
margin-left: 100px;
margin-right: 200px;
background: black;
}
 

HTML代码


  • 结果


第四种情况(圣杯布局)


CSS代码

.outer{
height: 100px;
padding-left: 100px;
padding-right: 200px;
color: red;
font-size: 20px;
}
/* 相对自己在页面一开始位置定位(有待考证) /
/ 上边因为已经被占满,所以自己被挤下来了 /
.left{
position: relative;
left: -100px;
/ 浮动没上去我认为是宽度不够 */
float: left;
margin-left: -100%;
width: 100px;
height: 100px;
background: tomato;
}
.right{
position: relative;
left: 200px;
float: right;
margin-left: -200px;
width: 200px;
height: 100px;
background: rgb(185, 156, 212);
}
.center{
float: left;
width: 100%;
height: 100px;
background: black;
}
 

HTML代码


  • 结果


第五种情况(双飞翼布局)


CSS代码

.outer{
height: 100px;
color: white;
font-size: 20px;
}
.left{
float: left;
margin-left: -100%;

width: 100px;
height: 100px;
background: tomato;
}
.right {
float: left;
margin-left: -200px;

width: 200px;
height: 100px;
background: gold; }
.content{
margin-left: 100px;
margin-right: 200px;
height: inherit;
}
.center {
float: left;
width: 100%;
height: 100px;
background: lightgreen;
}
 

HTML代码


  • 结果

结语:文章只是将这些实现过程归纳总结,方便查找和学习,若有疑问欢迎提出,谢谢!!!

时间不早啦,俺去睡觉啦!!!

相关文章
|
3月前
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
47 4
|
12天前
|
Web App开发 前端开发 JavaScript
前端开发的秘密武器:这些工具让你轻松应对各种复杂布局!
【10月更文挑战第31天】前端开发充满挑战,尤其是在处理复杂布局时。本文介绍了几种关键工具和技术,如HTML和CSS基础、Firefox开发者工具、Visual Studio Code以及Vue、React和Angular等前端框架,帮助开发者高效应对复杂布局,提升代码质量和用户体验。
24 2
|
1月前
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
2月前
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
77 2
|
2月前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
图形学 开发者
【Unity光照艺术手册】掌握这些技巧,让你的游戏场景瞬间提升档次:从基础光源到全局光照,打造24小时不间断的视觉盛宴——如何运用代码与烘焙创造逼真光影效果全解析
【8月更文挑战第31天】在Unity中,合理的光照与阴影设置对于打造逼真环境至关重要。本文介绍Unity支持的多种光源类型,如定向光、点光源、聚光灯等,并通过具体示例展示如何使用着色器和脚本控制光照强度,模拟不同时间段的光照变化。此外,还介绍了动态和静态阴影、全局光照及光照探针等高级功能,帮助开发者创造丰富多样的光影效果,提升游戏沉浸感。
69 0
|
3月前
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
110 0
|
3月前
|
前端开发 开发者 UED
Web前端布局的救赎:掌握清除浮动的艺术,告别布局混乱!
【8月更文挑战第23天】在Web前端开发中,浮动(float)是一种常用的CSS布局技术,但会导致父元素高度塌陷。清除浮动至关重要,常用方法包括:使用额外的清除元素、伪元素、`overflow`属性、`flexbox`布局、`grid`布局以及`clearfix`方法。每种方法各有优缺点,适用于不同场景。随着新技术的发展,开发者应持续学习,选择合适的方法以确保布局稳定性和提升用户体验。
41 0
|
3月前
|
前端开发 容器
揭秘Web前端布局秘籍:浮动,那个让你又爱又恨的布局神器,你真的了解它吗?
【8月更文挑战第23天】在Web前端设计中,浮动是一种关键布局技术,能让元素在文档流中灵活移动,实现文本环绕图片、多列布局等效果。元素通过CSS的 `float` 属性脱离正常文档流并移动到容器边缘,后续非浮动内容则围绕该元素排列。浮动可用于多列布局、导航菜单及图文混排。需注意清除浮动以避免布局问题,并处理可能导致的父元素高度塌陷。
52 0