zoukankan      html  css  js  c++  java
  • float和absolute脱离文档流的区别

    div{
    width:400px;
    height:300px;
    opacity:0.1;
    background: red;
    position: absolute;
    }

    以上是绝对定位:

    p元素会忽视该元素的存在

    效果

        div{
                width:400px;
                height:300px;
                opacity:0.1;
                background: red;
                float:left;
            }

    以上是浮动 虽然脱离了文档了但其他元素还是给其让出位置

     效果如下

     使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。 
    而对于使用absolute :position脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它

    什么时候使用left 什么时候使用margin-left ?

    使用left 这个只能在自身的position为相对定位或者绝对定位

    而且有一个position为相对定位或者绝对定位的参照物(父级元素或者最近的元素如果没有则默认为文档)

    这里举

            body{
                margin:0;
                padding:20px;
            }
            div{
                margin:0;
            }
            #head{
                /*absolute以父级元素的左上角为参照点 并且不受padding影响 这里不设定top值时默认由于body的padding产生上边距*/
                position:absolute;
                width:100%;
                height:30px;
                top:30px;
                position: relative;/*以body为原点*/
                box-shadow: 0px 2px 4px 2px blue;
            }
           
    
            #big{
                margin-top:20px;
                margin-left:20px;
                position: absolute;
                top:100px;
                left:100px;
                width: 200px;
                height:200px;
                background:white;
                box-shadow: 0px 2px 4px 2px red;
    
            }
            #middle{
                top:10px;
                left:10px;
                position: absolute;
                width: 100px;
                height:100px;
                background:white;
                box-shadow: 0px 2px 4px 2px red;
            }
    <div id="head"></div>
        <div id="big">
            <div id="middle"></div>
        </div>

    效果如下:

    现在将css中的head部分改为:

    #head{
                /*absolute以父级元素的左上角为参照点 并且不受padding影响 这里不设定top值时默认由于body的padding产生上边距*/
                position:absolute;
                width:100%;
                height:30px;
                top:30px;
                position: absolute;/*以body为原点*/
                box-shadow: 0px 2px 4px 2px blue;
            }

     

    注意一点:

    当在一个元素内部的两个元素均为相对定位 或者其他,允许重叠

    使用absolute和relative区别

    前者必须设定父级元素的position 如果没有父级元素或者父级元素不设定position则使用浏览器作为参照物 且padding对其不影响  注意:该属性不适合做网页布局 需要都以浏览器为参照物

    后者 :不管父级是否设置position均以其作为原点作为参照物,而且padding会影响参照点 如果没有父元素则以浏览器为参照物, 适合用于布局  无论父级存在不存在,无论有没有TRBL,均是以父级的左上角进行定位,但是父级的Padding 属性会对其影响。 

  • 相关阅读:
    struts2.1.6教程七、国际化
    SRCNN之后的深度学习超分辨率
    文献学习:基于深度学习的图像超分辨率最新进展与趋势
    Canny边缘检测——学习笔记
    Facebook开源技术识别网购评论
    忆长安
    Fast-RCNN
    SPP-Net
    R-CNN目标检测的selective search(SS算法)
    CSS Table(表格)
  • 原文地址:https://www.cnblogs.com/webcyh/p/11336181.html
Copyright © 2011-2022 走看看