• CSS布局(五) 网页布局方式


    网页实质是块与块之间的位置,块挨着块,块嵌套块,块叠着块。

    三种关系:相邻,嵌套,重叠

     

    下面介绍网页布局的常用几种方式

     

    1.一列布局:

    一般都是固定的宽高,设置margin : 0 auto来水平居中,用于界面显著标题的展示等;

            .main{
                width: 200px;
                height: 100px;
                background-color: grey;
                margin: 0 auto;
            }
    <div class="main"></div>

    2.两列布局:

      说起两列布局,最常见的就是使用float来实现。float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清除浮动

      设置左左浮动,或设置左右浮动(这是需要确定父级元素的宽度)

      如何父级元素没有设置高度,则需要设置overflow:hidden来清除浮动产生的影响

      对于自己相邻元素清除浮动产生的影响用:clear:both;

        <div class="main">
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
            .main{
                width: 400px;
                background: red;
                overflow: hidden;
            }
    
            .left{
                background: yellow;
                float: left;
            }
    
            .right{
                background: green;
                float: left;
            }

    3.三列布局:

    两侧定宽中间自适应

    首先设置父级元素的宽度,可以左左右设置浮动。然后中间设置margin调整间距。 也可以都设置成左浮动,设置margin,调整间距。同样注意清除浮动的影响!

        <div class="main">
            <div class="left">left</div>
            <div class="middle">middle</div>
            <div class="right">right</div>
        </div>
            .main{
                width: 100%;
                background: red;
                overflow: hidden;
            }
            .left{
                background: yellow;
                float: left;
                width: 100px;
            }
            .middle{
                 background: rosybrown;
                 float: left;
                 width: cacl(100%-200px);
             }
            .right{
                background: green;
                float: right;
                width: 100px%;
            }

     或着为父级元素设置relative属性,再为子元素设置absolute属性,再分别定位,调间距。

    <div class="parent" style="background-color: lightgrey;">
        <div class="left" style="background-color: lightblue;">
            <p>left</p>
        </div>    
        <div class="center" style="background-color: pink;">
            <p>center</p>
            <p>center</p>
        </div>                
        <div class="right"  style="background-color: lightgreen;">
            <p>right</p>
        </div>            
    </div>
    <style>
    p{margin: 0;}
    .parent{position: relative;height:40px;}
    .left,.right,.center{position: absolute;}
    .left{left: 0;width:100px;}
    .right{right: 0;width: 100px;}
    .center{left: 120px; right: 120px;}
    </style>

    4.混合布局:

    在一列布局的基础上,保留top和foot部分,将中间的main部分改造成两列或三列布局,小的模块可以再逐级同理划分。

     

        <div class="top"></div>
        <div class="main">
            <div class="left">left</div>
            <div class="right">right</div>
        </div>
        <div class="footer"></div>
            .top{
                height: 100px;
                background: teal;
            }
            .footer{
                height: 100px;
                background: wheat;
            }
            .main{
                width: 100%;
                background: red;
                overflow: hidden;
            }
            .left{
                background: yellow;
                float: left;
                width: 50%;
            }
            .right{
                background: green;
                float: right;
                width: 50%;
            }

    5.扩展(如等分布局等)

        <div class="parent">
            <div class="child"></div>
            <div class="child"></div>
            <div class="child"></div>
            <div class="child"></div>
        </div>
            body{margin: 0;}
            .parent{
                border: 1px solid red;
                overflow: hidden;
                margin-right: -10px;
            }
            .child {
                width: calc(25% - 10px);
                height: 100px;
                background: green;
                float: left;
                margin-right: 10px;
            }
  • 相关阅读:
    AJ学IOS 之ipad开发qq空间项目横竖屏幕适配
    C语言小练习之学生信息管理系统
    014-预处理指令-C语言笔记
    013-结构体-C语言笔记
    012-C语言小游戏之推箱子
    011-指针(上)-C语言笔记
    010-字符串-C语言笔记
    009-数组-C语言笔记
    008-进制-C语言笔记
    007-函数-C语言笔记
  • 原文地址:https://www.cnblogs.com/chaixiaozhi/p/8486647.html
Copyright © 2020-2023  润新知