绝对定位 position:absolute,相对定位 position:relative

《1》

当我们要使用绝对定位的时候,必须要有两个条件

1》必须给父元素加定位属性,一般建议使用 position:relative(即:给父元素设为相对定位);

2》给子元素,加绝对定位position:absolute(给子元素设置为绝对定位); 同时加方向属性(top ,left,rigth,bottom)

绝对定位是以父元素为基准点,进行定位(如果他没有父元素,或者它的父元素没有设置position:relative属性)它就会以<body>为基准点进行定位。绝对定位会脱离文档流(即:他浮动起来了,不再占据原来的位置了)

绝对定位

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        body {
            margin:0px;
            padding:0px;
        }
        div {
            width: 100px;
            height: 100px;
        }

        #main {
        width:500px;
        height:500px;
        border:1px solid red;
        margin:0px 250px;

        }

        #a {
            background-color: red;
        }

        #b {
            background-color: green;
            top:100px;
            left:100px

        }

        #c {
            background-color: blue;
            height:150px;
            width:150px;
        }
    </style>
</head>
<body>
    <div id="main">
        <div id="a">A</div>
        <div id="b">B</div>
        <div id="c">C</div>
    </div>
</body>
</html>

《2 给子元素添加绝对定位,不给父元素添加相对定位,那么子元素进行绝对定位就是以body为基准进行定位的》

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        body {
            margin:0px;
            padding:0px;
        }
        div {
            width: 100px;
            height: 100px;
        }

        #main {
        width:500px;
        height:500px;
        border:1px solid red;
        margin:0px 250px;
        /*position:relative;*/ /*不给父元素设置相对定位,那么子元素就会以body为基准进行定位*/
        }

        #a {
            background-color: red;
        }

        #b {
            background-color: green;
            top: 100px;
            left: 100px ;

            position:absolute; /*给B设置绝对定位*/
        }

        #c {
            background-color: blue;
            height:150px;
            width:150px;
        }
    </style>
</head>
<body>
    <div id="main">
        <div id="a">A</div>
        <div id="b">B</div>
        <div id="c">C</div>
    </div>
</body>
</html>

《3最终效果图,给父元素添加相对定位,给子元素添加绝对定位,那么子元素进行绝对定位就是以父元素为基准进行定位的》

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
        body {
            margin:0px;
            padding:0px;
        }
        div {
            width: 100px;
            height: 100px;
        }

        #main {
        width:500px;
        height:500px;
        border:1px solid red;
        margin:0px 250px;
        position:relative; /*给父元素设置相对定位,那么子元素进行绝对定位的时候就会以父元素为基准进行定位*/
        }

        #a {
            background-color: red;
        }

        #b {
            background-color: green;
            top: 100px;
            left: 100px ;

            position:absolute; /*给B设置绝对定位*/
        }

        #c {
            background-color: blue;
            height:150px;
            width:150px;
        }
    </style>
</head>
<body>
    <div id="main">
        <div id="a">A</div>
        <div id="b">B</div>
        <div id="c">C</div>
    </div>
</body>
</html>

时间: 2024-12-29 11:30:08

绝对定位 position:absolute,相对定位 position:relative的相关文章

css样式中position:absolute和position:relative水平居中

首先我们要了解样式中的这两种定位: absolute(绝对定位):将被赋予的对象从文档流中拖出,使用left,right,top,bottom等属性相对于最接近的一个最有定位设置的父级对象进行绝对定位,如果父级没有进行定位属性设置,则按照默认规则来设定(根据body左上角作为参考进行定位),同时绝对定位的对象可层叠. relative(相对定位):对象不可重叠,使用left,right,top,bottom等属性在正常的文档流中进行定位,其对象不可以层叠. 居中: 1,对于使用了absolute

position =&quot;absolute&quot; 与 position=&quot;fixed的异同&quot;

position ="absolute" position="fixed" 相同点 第一,完全脱离标准文档流 第二,未设置偏移量时,都定位在父元素左上角 不同点一: 设置偏移量时,偏移量的基准 absolute 1.无已定位的祖先元素,以<html>为基准 2.有已定位的祖先元素,以最近的父元素的为基准偏移 fixed 有无已定位的祖先元素都以浏览器的可视窗口为基准偏移 不同点二: 表现形式:(产生滚动条时) absolute:位置会随滚动条变化 fix

今天我们来谈谈绝对定位和相对定位的区别,和需要注意的问题;position:absolute|relative;

首先position:absolute|relative; 前者是绝对定位,后者是相对定位: position属性的四个值: static,relative,fixed,absolute; 重点重点重点: 相对定位元素经常用来作为绝对定位元素的容器块: absolute 定位使元素的位置与文档流无关,因此不占据空间. absolute 定位的元素和其他元素重叠.

css position: absolute、relative详解

CSS2.0 HandBook上的解释: 设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局.假如其他具有不同 z-index 属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠.此时对象不具有外补丁( margin ),但仍有内补丁( padding )和边框( border ). 要激活对象的绝对(absolute)定位,必须指定 left , right , top , bottom 属性中的至少一个,并且设置此属性值为 ab

position:absolute/relative/fixed小结

1.绝对定位:position:absolute; 当一个div块的位置被定义为绝对定位absolute时,也就意味着它失去了文档流的位置,后面的文档流会紧跟着补上来接替它的位置.如果上下左右的绝对偏移量都是0,那么它将漂浮在原来的位置上,否则,会根据相对该元素外的第一个非static属性的元素进行定位,如果没有非static属性的父元素,则相对于body定位.当偏移后超出浏览器视线的向下或向右的内容不会被隐藏,而是会出现滚动条,但是向左或向上的内容超出后会被隐藏. 2.相对定位:positio

【webQD】☆★之详解position: absolute、relative属性

[webQD]☆★之详解position: absolute.relative 首先我们来看一下W3C对position的解释: 我们再看,W3C对position属性值的解释: ok,我们需要了解的是: 其中absolute和relative是最常用的,fixed用得也比较多(其中IE6并不支持fixed). 1.absolute(绝对定位) absolute是生成觉对定位的元素,脱离了文本流(即在文档中已经不占据位置),参照浏览器的左上角通过top,right,bottom,left(简称T

CSS定位:相对定位、绝对定位和固定定位(relative absolute fixed)

相对定位:position:relative; 不脱离文档流,参考自身静态位置通过top,bottom,left,right定位,并且可通过z-index进行层次分级. 绝对定位:position:absolute; 脱离文档流,通过top,bottom,left,right定位,选取其最近的父级元素进行定位,当父级元素position为static时,absolute元素将以body坐标原点进行定位,可通过x-index层次分级. 固定定位:position:fixed; 这里他所固定的对象是

position:absolute绝对定位能不能使之相对于容器右对齐? 网摘

如果要将绝对定位元素相对父元素定位,就必须设置父元素为相对定位,如:<style type="text/css"> .a{position:relative;background:green;} .b{position:absolute;right:0;top:0;background:red;}</style><div class="a">父元素,net920com ,其它一些内容.<div class="b&q

position absolute fixed relative static inherit

1 object.style.position="absolute" 2 3 absolute 4 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 5 6 元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定. 7 8 fixed 9 生成绝对定位的元素,相对于浏览器窗口进行定位. 10 11 元素的位置通过 "left&q