美文网首页
三栏布局:圣杯、双飞翼、flex、栅格

三栏布局:圣杯、双飞翼、flex、栅格

作者: 糕糕AA | 来源:发表于2019-06-27 13:29 被阅读0次

--- 布局:圣杯、双飞翼、flex布局

  • 三列布局,中间宽度自适应,两边定宽;
  • 中间栏要在浏览器中优先展示渲染;
  • 允许任意列的高度最高;

1、圣杯布局: 需要设置position定位

  • 设置container包裹 main、left、right,设置container左右外边距,为left、right留出位置
  • 设置main、left、right 左浮动,main 宽度为100%,left、right根据需求设置宽度,left、right的 margin-left 设置为 -100%、-宽度
  • 设置main、left、right 的 position 为 relative,left左移它的宽度,right右移它的宽度
  • ⚠️因为子元素都为浮动元素,所以此时会出现父容器塌陷,但是此时不应该使用 overflow:hidden,因为左右会被隐藏;这时候就需要使用after伪元素了!!!

2、双飞翼: 与圣杯布局的区别在于: “中间栏div内容不被遮挡”问题的思路不一样。

  • 给 main 增加一个子元素 div content,main宽度为100%
  • 三个都设置float:left、height、background
  • 左右设置宽度,左:左外边距 -100%;右:左外边距 -宽度
  • 设置 content 的 左右 margin 分别为 left、right 的宽度

自己想到的方法:中间宽度为:width: calc(100% - 200px),此处为计算宽度,因为宽度要跟随左右侧栏宽度实现自适应

--- 栅格布局

父容器:

.container {
            display: grid;
            grid-template-rows: 100px 100px 100px; /*1fr 1fr fr,按宽高自动分配*/
            grid-template-columns: 100px 100px 100px;
         grid-template: repeat(3, 1fr) / repeat(3, 1fr); /*简单写法*/
        }

相关文章

网友评论

      本文标题:三栏布局:圣杯、双飞翼、flex、栅格

      本文链接:https://www.haomeiwen.com/subject/laalcctx.html