css圣杯模式的HTML代码,css圣杯布局是什么?

圣杯布局是两边固定宽度,中间自适应的三栏布局,其中,中间栏放到文档流前面,保证先行渲染。下面本篇文章就来给大家介绍一下css圣杯布局,希望对大家有所帮助。

3931f0dbfab0c95d6e6b84398b301595.png

圣杯布局是什么三列布局,中间宽度自适应,两边定宽;

中间栏要在浏览器中优先展示渲染;

实现

HTML代码如下:

middle
left

实现一:使用浮动

1、先给左右列固定宽度,然后给中间列的宽设为100%,都设置为向左浮动:#middle {

background-color: lightpink;

height: 300px;

width: 100%;

float: left;

}

#left {

background-color: red;

height: 300px;

width: 100px;

float: left;

}

#right {

background-color: aqua;

height: 300px;

width: 100px;

float: left;

}

此时它的效果为:

7e6ff872f01af9a99d4ab4091c92e5a9.png

2、让左右列与中间列显示在一行

给#left设置margin-left: -100%;,给#right设置margin-left: -100px;,那么此时我的页面显示为:

5c69e115be6d4042bdcee1b34b1998c2.png

但是有没有发现我的middle这个字不见了,那是因为被压住了,此时我的左右列覆盖到了中间列上面

3、中间盒子自适应

那么想让中间盒子自适应,就给我们的父元素加padding值:#container {

padding: 0 100px;

}

此时的效果为:

afbe8f3341ec04133249f94fb3526851.png

与上面的图相比,两边多了空,那么此时我的middle还是没有出现,所以说明我的左右两列还是压着中间那列的,所以我们就应该将左右两列给加定位,然后让他们分别向左右移动:#left {

position: relative;

left: -100px;

}

#right {

position: relative;

right: -100px;

}

此时我们的圣杯布局就完成啦:

d3ab00f906f359e3bc13d1786c092495.png

实现二:用flex布局

使用flex布局就简单多了呢,代码如下:#middle {

background-color: lightpink;

height: 300px;

display: flex;

flex:1;/*简写,1,1,auto的意思*/

}

#left {

background-color: red;

height: 300px;

flex: 0 0 100px;/*默认为横向的,所以这里的100px相当于宽度*/

order:-1;/*设置left的位置在middle之前*/

}

#right {

background-color: aqua;

height: 300px;

flex: 0 0 100px;/*默认为横向的,所以这里的100px相当于宽度*/

}

#container{

display: flex;

flex:1;/*简写,1,1,auto的意思*/

}

那么我们的圣杯布局也就完成啦:

fb51465b7062c3920a3cfb7cca17e56e.png

更多前端开发知识,请查阅 HTML中文网 !!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值