关于position定位中的几个注意点

在CSS中我们会用到position来进行布局,常用的就是三种relative,absolute,fixed

relative就是我们常说的相对定位,相对于在正常文档流中的位置进行定位,它不会脱离正常的文档流,所以在进行定位以后,之前的位置也会保持占有状态。

     <div class="test">
            这是一行文字,这是一行文字
            <div style="width: 200px;height: 50px;background: yellow;position: relative;top: 50px;"></div>
        </div>

我们可以看到文字和黄色div之间有很大的空隙,这个空隙就是因为还占据着原来的位置导致。由于没有脱离文档流,在定位为relative的元素中设置width:100%时,实际上就是父元素的宽度。

absolute:相对于离他最近且position的值不为static的元素进行定位(或者根元素),脱离了文档流。当我们设置width:100%时,这个100%也是根据离他最近且position的值不为static的元素(或者根元素)的宽度进行计算,而不是父元素。

        <div class="wrap">
            <div class="container">
                <div class="main">
                </div>
            </div>
        </div>
       .wrap{
                width: 200px;
                height: 100px;
                position: relative;
            }
            .container{
                width: 300px;
                height: 50px;
                background: red;
            }
            .main{
                position: absolute;
                width: 100%;
                height: 100%;
                background: yellow;
            }

我们可以看到并不是根据父元素的宽度来进行计算。当然overflow也是相对于离他最近且position的值不为static的元素(或者根元素)的宽度进行计算。

fixed:是相对于视口进行定位。所以我们设置width:100%时相对于浏览器的可见宽度。就相当于设置height:100vh。也是脱离文档流的。所以overflow也将是相对于可见窗口而言。

时间: 2024-10-19 16:34:56

关于position定位中的几个注意点的相关文章

Css中Position定位属性与层级关系

今天同事发现一个有意思的问题,关于position的层级关系的,他要不说我也没注意过 测试后果然有趣,有待深入研究: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Css中Position定位属性与层级关系</title> 6 <style type="text/css"> 7 #W{ 8

position定位——让人又爱又恨的属性

关于css中的position这个属性,在使用的时候,有时很强大,有时又让人很无奈. 强大的时候,对于div中的一些小物件不方便使用margin或者padding的时候,给与position:absolute;再配备left.right.top和bottom,基本上就是想放哪里放哪里了. 让人无奈的时候,就是我们一旦滥用了position这个定位属性,就会让自己的布局飞的满天是,又因为z-index没有设定好,基本上,整体的布局就会让你手足无措,找原因的话,又非常麻烦,最后,恐怕只能推倒重做了.

position定位的解析与理解

每当我们在制作页面布局的时候总会遇到各种各样的让元素进行移动的时候,我们要不就是用margin属性来使元素进行移动,要不就是用position定位来进行,下面我就说下position定位的使用以及注意事项. 我们常用的position它有4种值,分别是  static    relative     absolute     fixed. static它是position的默认值: 给代码添加和不添加没有任何的不同,它是没有任何定位于效果的,也不会脱离文档流. relative是position

深入理解CSS定位中的偏移

× 目录 [1]定位 [2]包含块 [3]偏移属性[4]绝对定位[5]格式化 [6]auto 前面的话 CSS有三种基本的定位机制:普通流.浮动和绝对定位.利用定位,可以准确地定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置.但元素究竟如何定位,定位到什么位置,主要依靠top/right/bottom/left这四个偏移属性.本文就定位中的偏移做详细介绍. position定位 值: static | relative | absolute | fi

元素重叠及position定位的z-index顺序

多次在项目中遇到html页面元素的非期待重叠错误,多数还是position定位情况下z-index的问题.其实每次解决类似问题思路大致都是一样的,说到底还是对z-index的理解比较模糊,可以解决问题却不大了解其原因,导致重复出错......于是决定把重叠问题弄清下,把z-index理顺下. 经过一番查找对比实践理解,下面就从元素重叠的背景常识及可能原因说起,浅谈下position定位元素的z-index顺序.总结下我目前的理解,希望也能对遇到过类似问题有同样疑惑的你有一点帮助或启发. 元素位置

归纳篇(一)CSS的position定位和float浮动

近期会更新一系列博客,对基础知识再度做个巩固和梳理. 一.position定位 (一):position的属性 1.absolute:生成绝对定位的元素,相对于最近一级定位不是static的父元素来进行定位: 2.relative:生成相对定位的元素,相对于其所在普通的文档流位置进行定位: 3.static:默认值,没有定位,元素出现在正常的文档流中; 4.fixed:老IE不支持,和absolute一致,相对于窗口进行定位,当出现滚动条时,不随着滚动而滚动: 5.sticky:(CSS3)有兼

认识position定位

在html中,改变布局有两种方式一种是float一种是position定位,今天解释一下什么position定位. position是CSS中非常重要的一个属性,通过position属性,我们可以让元素相对于其正常位置,父元素或者浏览器窗口进行偏移. postion属性我们成为定位,它有4个不同类型的定位,这些类型会影响元素的生成方式,下面我们详细说明position属性. Position有4个属性值:1.static.2.relative.3.absolute.4.fixed.这几种属性.

解析position定位

关于position定位(所有主流浏览器都支持 position 属性),大家会联想到relative和absolute,下面我就讲一下relative和absolute分别是相对于谁进行定位的? 在CSS布局中,Position发挥着非常重要的作用,很多容器的定位是用Position来完成,有四个可选值,它们分别是:static.absolute.fixed.relative,这里向大家描述一下它的使用. absolute:生成绝对定位的元素,相对于最近一级的定位不是static的父元素来进行

解析position定位及区别

position定位可分为:absolute:relative:fixed:static. absolute:生成绝对定位的元素,相对于最近一级的,定位不是static的父辈元素: relative:生成相对定位的元素,相对于其在普通流中的位置进行定位: fixed:生成绝对定位的元素,通常相对于浏览器窗口或frame进行定位: static:默认值,没有定位,元素出现在正常的流中. 相对定位的元素使得元素“浮”了起来,就是说z-index大于0的,应该是1,所以不论它怎么进行移动却总是覆盖普通