圣杯布局&双飞翼布局

6 篇文章 0 订阅

前言:上班划水偷空了解了一下圣杯布局和双飞翼布局,一听这两个名字,觉得不明觉厉,其实就是三栏布局,左右两边的盒子宽度固定,中间的盒子宽度自适应。以下内容均是总结互联网上别人的文章。觉得有意思就记录一下。。。

圣杯布局,方法一:

<style>
        .container{
            padding: 0 200px;
        }
        .middle{
            width: 100%;
            background: paleturquoise;
            height: 200px;
            float: left;
            text-align: center;
        }
        .left{
            background: palevioletred;
            width: 200px;
            height: 200px;
            float: left;
            font-size: 40px;
            color: #fff;
            margin-left:-100%;
            position: relative;
            left: -200px;
        }
        .right{
            width: 200px;
            height: 200px;
            background: purple;
            font-size: 40px;
            float: left;
            color: #fff;
            margin-left:-200px;
            position: relative;
            right: -200px;
        }
  </style>
</head>
<body>
  <div class="container">
    <!-- 中间栏放在前面优先渲染 -->
    <div class="middle">好好挂机吧更好的规划规范过的很好的借口你好好火狐u湖库及高度和</div>
    <div class="left">left</div>
    <div class="right">right</div>
  </div>
</body>

不使用定位,在中间盒子控制padding(以下代码仅仅包含样式代码)

.container{
            /* padding: 0 200px; */
        }
        .middle{
            width: 100%;
            background: paleturquoise;
            height: 200px;
            float: left;
            text-align: center;
            box-sizing: border-box;
            padding: 0 200px;
        }
        .left{
            background: palevioletred;
            width: 200px;
            height: 200px;
            float: left;
            font-size: 40px;
            color: #fff;
            margin-left:-100%;
            /* position: relative;
            left: -200px; */
        }
        .right{
            width: 200px;
            height: 200px;
            background: purple;
            font-size: 40px;
            float: left;
            color: #fff;
            margin-left:-200px;
            /* position: relative;
            right: -200px; */
        }

双飞翼布局:(最终效果跟圣杯布局没什么区别)

<style>
        * {
            box-sizing: border-box;
        }

        .main-inner {
            margin-left:200px;
            margin-right: 200px;
        }

        .content {
            overflow: hidden;
        }
        .content > div {
            float: left;
        }
        .main {
            width: 100%;
            height:200px;
            border:1px solid red;
        }
        .left {
            width:200px;
            margin-left: -100%;
            height:200px;
            border:1px solid #000;
        }
        .right {
            width:200px;
            margin-left: -200px;
            height:200px;
            border:1px solid #000;
        }
  </style>
</head>
<body>
  <div class="content">
    <!-- 中间栏放在前面优先渲染 -->
    <div class="main">
      <div class="main-inner">好好挂机吧更好的规划规(123)范过的很好(误会的话)的借口你好好火狐u湖库及高度和</div>
    </div>
    <div class="left">left</div>
    <div class="right">right</div>
  </div>
</body>

Conclusion

上面的布局都少了头部和页脚,但主体的布=布局还是中间的内容栏的布局,而其中比较重要的是三栏显示在同一列的负边距的使用,负边距的百分比都是相对于父元素的宽度来计算的,这点十分重要;负边距的一些用途参考文章负边距详解点击查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值