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

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

三栏布局

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


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


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

上课中:

第一种情况(定位: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代码


  • 结果

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

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

相关文章
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
401 1
|
12月前
|
前端开发 API 开发者
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
本文由黑臂麒麟(6年前端经验)撰写,介绍ArkTS开发中的常用基础组件与布局组件。基础组件包括Text、Image、Button等,支持样式设置如字体颜色、大小和加粗等,并可通过Resource资源引用统一管理样式。布局组件涵盖Column、Row、List、Grid和Tabs等,支持灵活的主轴与交叉轴对齐方式、分割线设置及滚动事件监听。同时,Tabs组件可实现自定义样式与页签切换功能。内容结合代码示例,适合初学者快速上手ArkTS开发。参考华为开发者联盟官网基础课程。
1079 75
harmonyOS基础- 快速弄懂HarmonyOS ArkTs基础组件、布局容器(前端视角篇)
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
286 4
|
Web App开发 前端开发 JavaScript
前端开发的秘密武器:这些工具让你轻松应对各种复杂布局!
【10月更文挑战第31天】前端开发充满挑战,尤其是在处理复杂布局时。本文介绍了几种关键工具和技术,如HTML和CSS基础、Firefox开发者工具、Visual Studio Code以及Vue、React和Angular等前端框架,帮助开发者高效应对复杂布局,提升代码质量和用户体验。
200 2
|
前端开发 容器
前端技术分享:利用CSS Grid布局实现响应式设计
【10月更文挑战第1天】前端技术分享:利用CSS Grid布局实现响应式设计
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
362 10
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
645 2
|
图形学 开发者
【Unity光照艺术手册】掌握这些技巧,让你的游戏场景瞬间提升档次:从基础光源到全局光照,打造24小时不间断的视觉盛宴——如何运用代码与烘焙创造逼真光影效果全解析
【8月更文挑战第31天】在Unity中,合理的光照与阴影设置对于打造逼真环境至关重要。本文介绍Unity支持的多种光源类型,如定向光、点光源、聚光灯等,并通过具体示例展示如何使用着色器和脚本控制光照强度,模拟不同时间段的光照变化。此外,还介绍了动态和静态阴影、全局光照及光照探针等高级功能,帮助开发者创造丰富多样的光影效果,提升游戏沉浸感。
863 1
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
1002 1
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。

热门文章

最新文章