position的用法

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

在介绍postion值之前先给大家介绍一下 z-index的使用,它可被用于将在一个元素放置于另一元素之后,决定了一个HTML元素层叠级别。元素层叠级别是相对于元素在Z轴上(X轴与Y轴的平面相垂直相的平面)的位置而言。一个更高的Z-index值意味着这个元素在叠层顺序中会更靠近顶部(值越大越在上层,可以允许有负数值)。



absolute(绝对定位): 脱离了文本流(即在文档中已经不占据位置),absolute在没有设定TRBL值时是根据父级对象(此对象定位必须为脱离文档流的定位,否则就以body为其父元素)的坐标作为始点的(图1),当设定TRBL值后则根据浏览器的左上角作为原始点(图2)。



relative(相对定位):相对于元素本身在文档中应该出现的位置来移动这个元素,可以通过TRBL来移动元素的位置,实际上该元素依然占据文档中原有的位置,只是视觉上相对原来的位置有移动。 



fixed(固定定位): 元素将被设置在浏览器上一个固定位置上,不会随其他元素滚动。形象点说,上下拉动滚动条的时候,fixed的元素在屏幕上的位置不变。需要注意的是IE6并不支持此属性。

<style>
    #child{
        width: 200px;
        height: 200px;
        background: #0099FF;
        position: fixed;
        left: 200px;
        top: 200px;
    }
    #parent{
        width: 400px;
        height: 2200px;
        background: red;
        margin-top: 200px;
        margin-left: 200px;
        position: absolute;
    }
</style>
<body>
    <div id="parent">
        <div id="child"></div>
    </div>
</body>

过程一


过程二 

从上面的两个过程中可以看出fixed是相对于浏览器的窗口进行定位。

inherit(继承定位):规定应该从父元素继承 position 属性的值。

#child{
    width: 200px;
        height: 200px;
        background: #0099FF;
        position: inherit;
        left: 100px;
        top: 100px;
    }
    #parent{
        width: 400px;
        height: 2200px;
        background: red;
        margin-top: 200px;
        margin-left: 200px;
        position: absolute;
    }
<body>
    <div id="parent">
        <div id="child"></div>
    </div>
</body>


从父元素那儿继承了absolute属性,使得child相对于父元素left: 100px; 
top: 100px;



initial(还原定位): initial的作用是把属性设置回默认值。

static(静态定位):如果你没有设置position属性,那么缺省就是static。top,left,bottom,right等属性,在static的情况下是无效的,要使用这些属性,必须把position设置为其他值。

原文地址:https://www.cnblogs.com/daydayupyxq/p/8586553.html

时间: 2024-10-12 00:34:34

position的用法的相关文章

position:sticky用法

用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的时候让一部分内容保持可见,比如,侧边栏的部分区域.position:sticky为此而生. position:sticky用法 position:sticky是一个新的css3属性,它的表现类似position:relative和position:fixed的合体,在目标区域在屏幕中可见时,它的行为就像position:rela

JQ之 offset 和 position 的用法与区别

offset:获取元素相对于文档(document)的当前坐标 注意 使用offset()方法不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前视口的偏移. postion : 获取元素相对父元素的偏移 注意: 1,使用position()方法时事实上是把该元素当绝对定位来处理,获取的是该元素相当于最近的一个拥有绝对或者相对定位的父元素的偏移位置. 2,使用position()方法时如果其所有的父元素都为默认定位(static)方式,则其处理方式和offset()一样,是当前

关于position的用法

昨天发现的一个问题: 因为做的是移动端前端开发,使用的apicloud技术,发现普通的打开一个frame,出现一个问题,frame是可以滚动的,当然这个可以设置,但是我的内容是不确定的,所以必须要求他可以滚动,但是有个需求是将两个按钮设置到frame的底部. 我考虑过使用绝对布局,但是使用后发现不起作用,后来请教别人发现了一个从未用过但是见过的属性,就是position: fixed;width: 100%;bottom: 20px; 后来了解了他的用法知道了他是相对于body的. 常用的pos

CSS中Position 的用法详解。

记得一年前,到一家公司面试的时候,问我position有哪几个属性,我憋半天才回答出2个,大家估计都清楚,就是我们经常用到的2个(relative,absolute). 最近又用到了好多,深入研究了下. 一.语法: position:static | relative | absolute | fixed 取值: static :默认值,无特殊定位,对象遵循正常文档流.top,right,bottom,left等属性不会被应用,默认值. relative:相对定位,对象遵循正常文档流,但将依据t

关于jQuery中的 offset() 和 position() 的用法

---恢复内容开始--- 在jQuery中有两个获取元素位置的方法offset()和position().position()方法是在1.2.6版本之后加入的,为什么要引入这个方法呢?这两个方法之间有什么异同?使用的时候应该注意哪些问题?什么时候使用offset(),什么时候又使用position()呢? 先看看API对这这两个方法的定义: offset(): 获取匹配元素在当前视口的相对偏移. 返回的对象包含两个整形属性:top 和 left.此方法只对可见元素有效. position():

position sticky 用法

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } ul{ width: 100%; height: 100%; } ul>li{ height: 400px; width: 100%; l

CSS3的position:sticky介绍

用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的时候让一部分内容保持可见,比如,侧边栏的部分区域.position:sticky为此而生. position:sticky用法 position:sticky是一个新的css3属性,它的表现类似position:relative和position:fixed的合体,在目标区域在屏幕中可见时,它的行为就像position:rela

position:sticky布局

用户的屏幕越来越大,而页面太宽的话会不宜阅读,所以绝大部分网站的主体宽度和之前相比没有太大的变化,于是浏览器中就有越来越多的空白区域,所以你可能注意到很多网站开始在滚动的时候让一部分内容保持可见,比如,侧边栏的部分区域.position:sticky为此而生. position:sticky用法   position:sticky 是一个新的css3属性,它的表现类似 position:relative 和 position:fixed 的合体,在目标区域在屏幕中可见时,它的行为就像 posit

CSS中TRBL和position关系

转自http://andymao.com/ 的部分: Absolute,CSS中的写法是:position:absolute; 他的意思是绝对定位,脱离了文本流(即在文档中已经不占据位置),他是参照浏览器的左上角,配合TOP.RIGHT.BOTTOM.LEFT(下面简称TRBL)进行定位,在没有设定TRBL,默认依据父级的做标原始点为原始点.如果设定TRBL并且父级没有设定position属性,那么当前的absolute则以浏览器左上角为原始点进行定位,位置将由TRBL决定. 网页居中的话用Ab