欢迎光临
我们一直在努力

css position里relative和absolute的区别是什么

今天小编给大家分享一下css position里relative和absolute的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

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

一、先来看看W3C给的概念

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

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

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

二、absoluterelative的差别

enter image description here 代码:

<!DOCTYPE html>

<html>

<head lang="en">

    <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的区别是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注云搜网行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。