• 技术文章 >web前端 >css教程

    解析css的position里的relative和absolute的区别

    高洛峰高洛峰2017-03-28 17:27:10原创2892
    position有以下属性static、inherit、fixed、absolute、relative
    前三个好理解好区分:
    static:是默认状态,没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
    nherit:从父元素继承 position 属性的值。
    fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。(即滚动浏览器的时候,元素永远固定显示在窗口可视区的某个位置)。

    比较常用而且会引起初学者迷惑的是absolute和relative,它俩有什么分别呢?

    一、先来看看W3C给的概念

    absolute:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

    relative:生成相对定位的元素,相对于其正常位置进行定位。

    两者最核心的区别在于:absolute不受父元素里的其他元素影响,而relative会受到父元素里的其他元素影响。

    二、一张图看懂absolute、relative的差别

    解析css的position里的relative和absolute的区别

    大前端成长进阶课程:进入学习

    代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    html,body,div,p{
    margin: 0;
    padding: 0;
    }
    #baba {
    position: absolute;
    left: 50px;
    top:50px;
    width: 300px;
    height: 300px;
    background: blue;
    }
    #baba p{
    background:lightblue;
    }
    #erzi {
    position: absolute;
    left: 50px;
    top:50px;
    width: 200px;
    height: 200px;
    background: yellow;
    }
    </style>
    </head>
    <body id="body">
    <div id="baba">
    <p></p>
    <div id="erzi">
    <p></p>
    </div>
    </div>
    <script>
    var baba=document.getElementById("baba"),
    erzi=document.getElementById("erzi");
    baba.children[0].innerHTML="我是"+baba.id;
    erzi.children[0].innerHTML="我是"+erzi.id;
    </script>
    </body>
    </html>

    以上就是解析css的position里的relative和absolute的区别 的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:opacity不兼容ie8的问题解决方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 实例详解CSS渐变锯齿问题如何解决!• 带你吃透Flex布局的三个属性:flex-grow、flex-shrink、flex-basis• 另辟蹊径!看看使用CSS滤镜怎么构建圆角和波浪效果• 聊聊怎么利用 CSS 构建花式透视背景• 详解css中的比较函数(示例介绍)
    1/1

    PHP中文网