• css布局模型


    一、流动模型(默认布局)

      1.特征:

        第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上,块状元素都会以行的形式占据位置。

        第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。

    二、浮动模型

    div{float:right/left;}

    三、层模型(定位)

    1、绝对定位(position: absolute)

      这条语句的作用将元素从文档中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口

    代码:

    div{
        200px;
        height:200px;
        border:2px red solid;
        position:absolute;
        left:100px;
        top:50px;
    }
    <div id="div1">块1</div>

    效果:

    2、相对定位(position: relative)

    元素在正常文档流中的偏移位置。(即不脱离默认文件流)

    相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。

    代码:

    #div1{
        200px;
        height:200px;
        border:2px red solid;
        position:relative;
        left:100px;
        top:50px;
    }
    
    <div id="div1">块2</div>

    效果:

     

    3、固定定位(position: fixed)

    与absolute定位类型类似;(脱离默认文件流?)

    不随浏览器窗口的滚动条滚动而变化;

    固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。

    四、Relative与Absolute混合应用

    关键点在于是否脱离默认文件流;只有position: relative不脱离。

    必须遵守下面规范:

    1、参照定位的元素必须是相对定位元素的前辈元素:

    <div id="box1"><!--参照定位的元素-->
        <div id="box2">相对参照元素进行定位</div><!--相对定位元素-->
    </div>

    从上面代码可以看出box1是box2的父元素(父元素当然也是前辈元素了)。

    2、参照定位的元素必须加入position:relative;

    #box1{
        200px;
        height:200px;
        position:relative;        
    }

    3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

    #box2{
        position:absolute;
        top:20px;
        left:30px;         
    }

    这样box2就可以相对于父元素box1定位了(这里注意参照物就可以不是浏览器了,而可以自由设置了)。

    例子:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>相对参照元素进行定位</title>
    <style type="text/css">
    div{border:2px red solid;}
    #box1{
        width:200px;
        height:200px;
        position:relative;
              
    }
    #box2{
         position:absolute;
        top:20px;
        left:30px;
              
    }
    /*下面是任务部分*/
    #box3{
        width:200px;
        height:200px;
        position:relative;       
    }
    #box4{
        width:99%;
         position:absolute;
        bottom:0;
        
    }
    </style>
    </head>
    
    <body>
    <div id="box1">
        <div id="box2">相对参照元素进行定位</div>
    </div>
    
    <h1>下面是任务部分</h1>
    <div id="box3">
        <img src="http://img.mukewang.com/541a7d8a00018cf102000200.jpg">
        <div id="box4">当我还是三年级的学生时是一个害羞的小女生。</div>
    </div>
    </body>
    </html>

    效果:

  • 相关阅读:
    url的非法字符有哪些
    asp.net各种获取客户端ip方法
    可编辑表格
    菜单弹出隐藏
    淡入淡出窗口
    使用XML传递数据
    Intellij IDEA将工程打包成jar包并执行
    使用JavaScript实现ajax
    AJAX基本演示使用
    统计指定目录下的视频时长
  • 原文地址:https://www.cnblogs.com/cc-freiheit/p/7498136.html
Copyright © 2020-2023  润新知