position定位

定义和用法
position 属性规定元素的定位类型。

说明
这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。


可选值
position: static (默认值) / absolute / fixed / relative / static / inherit


absolute(绝对定位)

生成绝对定位的元素,相对于 static 定位以外的第一个父元素的左上角进行定位。若无父级或祖先元素均无除static定位以外的定位,则根据body的左上角进行定位,可层叠。

元素的位置通过 “left”, “top”, “right” “bottom” 以及 “z-index(层级)” 属性进行规定。

绝对定位的元素脱离正常的html文档流,原来的位置会被后面的元素所占据,这与relative(相对定位)有所不同,定位从border与内容区间开始(不受padding影响,margin会影响定位)

width / height:100% ( width / height = 父级的内容区宽度/高度(+padding * 2) )
不设置width/height 则大小为内容的宽度高度

<!DOCTYPE html>
<html>
<head>
    <title>Position</title>
    <meta charset="utf-8">
    <style>
        * {
            margin: 0;
            padding: 5px;
        }   
        #div1 {
            width: 400px;
            height: 400px;
            border: 5px solid red;
        }
        #div2 {
            width: 300px;
            height: 300px;
            border: 5px solid blue;
        }
        #div3 {
            width: 50px;
            height: 80px;
            border: 5px solid green;
            position: absolute;
        }
        #div4 {
            width: 100px;
            height: 100px;
            border: 5px solid yellow;
            position: absolute;
            top: 5px;
            left: ;

        }
    </style>
</head>

<body>
    <div id="div1">
        <div id="div2">
            <div id="div3">
                <div id="div4">45</div>
                <p>占据div4的空间</p>
            </div>
        </div>
    </div>
</body>
</html>

relative(相对定位)

生成相对定位的元素,相对于同级的前一个兄弟元素进行定位,若无这样的元素,这相对于父元素定位,且不可层叠。

元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。

绝对定位的元素脱离正常的html文档流,原来的位置会被后面的元素所占据,这与relative(相对定位)有所不同。

与absolute不同点:
1:relative在定位时依旧占据原来的位置;
2:定位时受到父级padding,以及自身的margin影响;

fixed(固定定位)

生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。

inherit

规定应该从父元素继承 position 属性的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值