前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >圣杯布局三种方式

圣杯布局三种方式

作者头像
全栈程序员站长
发布2022-09-07 11:06:44
1.6K1
发布2022-09-07 11:06:44
举报

大家好,又见面了,我是你们的朋友全栈君。

圣杯布局是经典的css布局,左右两栏的宽度固定不变,中间那一栏是自适应,下面将用felx、float、position三种方法进行圣杯布局

效果图:

left和right是定宽,middle是自适应的
left和right是定宽,middle是自适应的

body代码:

代码语言:javascript
复制
<body>
	<header></header>
	<div class="box">
		<div class="left"></div>
		<div class="right"></div>
		<div class="middle"></div>
	</div>
	<footer></footer>

</body>

1. 圣杯布局之flex: left和right定宽为200px,middle自适应

  • 给middle设置弹性布局display:flex;
  • left和right定宽200px,middle设置为flex:1;

css代码:

代码语言:javascript
复制
header{
			height: 80px;
			background-color: #cccccc;
		}
		.box{
			height: 200px;
			background-color: yellow;
			display: flex;
		}
		.box .middle{
			height: 200px;
			background: pink;
			flex: 1;
		}
		.box .left{
			width: 200px;
			height: 200px;
			background-color: red;
		}
		.box .right{
			width: 200px;
			height: 200px;
			background-color: purple;
		}
		footer{
			height: 100px;
			background-color: black;
			color: white;
		}

2. 圣杯布局之float 将left进行浮动靠左,将right进行浮动靠右

css代码:

代码语言:javascript
复制
header{
			height: 80px;
			background-color: #cccccc;
		}
		.box{
			height: 200px;
			background-color: yellow;
		}
		.box .left{
			width: 200px;
			height: 200px;
			background-color: red;
			float: left;
		}
		.box .right{
			width: 200px;
			height: 200px;
			background-color: purple;
			float: right;
		}
		.box .middle{
			height: 200px;
			background-color: pink;
		}
		footer{
			height: 100px;
			background-color: black;
			color: white;
		}

3. 圣杯布局之position:left和right宽度设为20%,中间60%自适应

将父元素box设为相对定位,再将left、right、middle设置为绝对定位

代码语言:javascript
复制
header{
			height: 80px;
			background-color: #cccccc;
		}
		.box{
			height: 200px;
			background-color: yellow;
			position: relative;
		}
		.box .left{
			width: 20%;
			height: 100%;
			background-color: red;
			position: absolute;
			top: 0;
			left: 0;
		}
		.box .middle{
			height: 100%;
			background-color: pink;
			position: absolute;
			top: 0;
			left: 20%;
		}
		.box .right{
			width: 20%;
			height: 100%;
			background-color: purple;
			position: absolute;
			top: 0;
			right: 0;
		}
		footer{
			height: 100px;
			background-color: black;
			color: white;
		}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148044.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档