flex做的圣杯布局

   now,给大家分享一个用flex写的圣杯布局,大家可以参考一下子

   首先圣杯布局是两列固定宽度,中间自适应。

   我直接说一下步骤,上图,上图

    

   1.步骤1

   

  2.步骤2

    

    上面就是基本的步骤,下面我把代码给大家,大家感兴趣自己拿回去偷偷的撸就可以

    

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        /* 将整个页面设置为弹性盒 */
        html,
        body {
            height: 100%;
            overflow: hidden;
            display: flex;
            /* 改变主轴的排列方式 */
            flex-direction: column;
            /* 将主轴上的排列规则改为两端分布 */
            justify-content: space-between;
            text-align: center;
            font-size: 25px;
        }

        /* 设置头部和尾部的颜色 */
        .footer,
        .header {
            height: 88px;
            background: #c33;
            text-align: center;
            line-height: 88px;
            font-size: 30px;
        }

        /* 设置中间内容区域样式 */
        .center {
            flex: 1;
            background: #ccc;
            display: flex;
        }

        /* 设置左边div和右边div */
        .center>.left,.center>.right {
            width: 200px;
            height: 100%;
            background: yellow;
        }
        /* 将 */
        .center>.content {
            flex: 1;
            background: pink;
        }

    </style>
</head>

<body>
    <!-- 界面结构区域 -->
    <div class="header">header</div>
    <div class="center">
        <div class="left">left</div>
        <div class="content">content</div>
        <div class="right">right</div>
    </div>
    <div class="footer">footer</div>
</body>

</html>

原文地址:https://www.cnblogs.com/suihang/p/9721413.html

时间: 2024-10-08 15:00:59

flex做的圣杯布局的相关文章

圣杯布局(定宽与自适应)

圣杯布局小结 阅读目录 1. 从2个实际的需求说起 2. 圣杯布局的传统实现方法 3. 圣杯布局传统实现方法的一种变体 4. 圣杯布局的纯浮动实现 5. 圣杯布局的flex实现 7. 结束语 圣杯布局,很久之前就听过,但是一直都没详细了解过,最近因为做了一个项目,借鉴了薪人薪事这个公司的产品页面,才第一次用到这种布局方式.于是就花了点时间,测了下它实现常见分栏布局的代码,每段代码都非常简单,但布局效果很完美,比我以前用的方式好用不少.本文是对它实现方式的一些总结,希望可以把这种技术推荐给跟我之前

圣杯布局之 css3 calc和 flex

圣杯布局的实现,有很多种. 大致都是借助 padding, margin, float之类的,当然这是传统的实现方式.更多的参考方式圣杯布局小结. 这里说的是用css3 cal 和flex来实现,因为css有限,有不当或者错误之处,敬请指出. css3 cal 的支持情况,总体 93%. flex布局的支持情况, 总体97% 为了增加复杂度 1. 块之间有间距 2. 有 border 3. 都采用了 box-sizing: content-box 先看 calc的实现 <!DOCTYPE htm

圣杯布局-flex

一.参考文献: 1.Flex 布局教程:语法篇(http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html) 2.Flex 布局教程:实例篇(http://www.ruanyifeng.com/blog/2015/07/flex-examples.html) 二.圣杯布局中用到的属性: 1.盒子属性: (1).flex-direction:用于确定元素的排列顺序 (a).row(默认值):元素以水平方向,从左至右排列. (b).row-rev

float详解、圣杯布局

一.开始 虽然现在有了flex弹性盒子模型,很多布局效果都可以通过flex盒子来实现,但由于flex盒子模型的兼容性不容乐观 ie至少要10才能支持flex,所以还是很有必要学习float流式布局的 二.实例 正常的块级元素的布局是这样的:(文字代表元素的float属性) 对于float布局要记住: 1.如果浮动元素的上一个元素也是浮动,那么该元素会与上一个元素排列在同一行,如果行宽不够,后面的元素会被挤到下一行 2.如果浮动元素的上一个元素不是浮动,那么该元素仍然处于上一个元素的下方,根据浮动

三种方式实现圣杯布局

圣杯布局是一种很常见的css布局.要求: 上部和下部各自占领屏幕所有宽度. 上下部之间的部分是一个三栏布局. 三栏布局两侧宽度不变,中间部分自动填充整个区域. 中间部分的高度是三栏中最高的区域的高度. 我会用三种方法来实现圣杯布局,分别是浮动,flexbox以及css grid: HTML内容: <div class="header">这里是头部</div> <div class="container"> <div clas

【经典面试题】圣杯布局以及双飞翼布局原理

什么是圣杯布局以及双飞翼布局 上图就是一个经典的圣杯布局和双飞翼布局的模型,即三列结构,左右两边定宽,中间自适应,能根据屏幕大小做响应. 实现方式 浮动(经典方式) 在介绍这种方式之前要先说一下margin设置负值的作用: margin-top/margin-left设置负值会将元素拉入对应位置 可以看到,当margin-top负值增大时,元素也跟着上移了,margin-left同理,负值增大会左移,两者都会导致元素溢出视口 margin-right/margin-bottom设置负值会让后续元

负边距实现圣杯布局以及列等高

圣杯布局如下图所示, 图一 两边的内容宽度固定,中间栏宽度自适应.html代码如下, <div class="container"> <div class='main'> <p>main</p> <p>主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干内容主干

圣杯布局的实现过程

圣杯布局和双飞翼布局,他们的都要求三列布局,中间宽度自适应,两边定宽,这样做的优势是重要的东西放在文档流前面可以优先渲染,而双飞翼布局是对圣杯布局的一种改良,下一篇文章会讲到. 圣杯布局:用到浮动.负边距.相对定位,不添加额外标签 DOM结构: <div class="header">Header</div> <div class="bd"> <div class="main">Main</d

CSS布局-圣杯布局

圣杯布局 圣杯布局很完美(兼容所有浏览器,包括IE6),但是使用了相对定位,布局有局限性,宽度控制要改的地方也多. 第一种方法公用部分: .lgyz, .lzrg, .lrzcg, .lcgrz, .lzcrg {margin:10px 0; min-width:400px;text-align: center;color:#ffffff; } .left {background-color: #4DBCB0; padding:20px 0;} .aside, .center, .right {