css中的绝对定位与相对定位

1、绝对定位

元素没有设定position属性,但依旧具有position属性,其值为static

绝对定位的元素从文档流中删除,并相对于其最近的position属性为absolute、relative、fixed的祖先元素定位,若没有这样的祖先元素,则根据浏览器定位,元素原来在文档流中的控件被关闭,其层叠通过z-index属性决定,此时对象不具有边距(margin)

<div class="content">
    <div class="redBlock"></div>
</div>
.content{
    width: 1000px;
    height:800px;
    margin:0 auto;
    border: 1px solid #000;
}
.redBlock{
    width:300px;
    height:300px;
    position:absolute;
    top:200px;
    left:200px;
    background: red;
}

显示效果如下

红色块元素并未相对于黑色边框的元素绝对定位,而是相对浏览器定位,原因是红色块的父级元素position属性并非为absolute、relative、fixed

解决方案就是红色块的父级元素position属性设置为absolute、relative、fixed

.content{
    width: 1000px;
    height:800px;
    position:relative;
    margin:0 auto;
    border: 1px solid #000;
}

显示效果如图所示

2、相对定位

参考父级元素配合top、right、bottom、left属性进行定位

.content{
    width: 1000px;
    height:800px;
    margin:0 auto;
    border: 1px solid #000;
}
.redBlock{
    width:300px;
    height:300px;
    position:relative;
    top:200px;
    left:200px;
    background: red;
}

效果如图所示,红色块相对于黑色边框定位

相对定位时,若父级元素设置padding,则子元素相对于父级元素的内容区域定位,不包含padding

注:绝对定位和相对定位会使元素变为块级元素

时间: 2025-01-19 22:06:21

css中的绝对定位与相对定位的相关文章

关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)

关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)   作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position:absolut; 1.相对定位(div与div之间的关系)        body 标签其实就是一个大的盒子,在body里面设置 两个盒子div1 和 div2 ,而且两个盒子都给了它一个相对定位:position:relative;,那么div2 就会相对于 div1 排版,排在div1的下面,

[Web 前端] 019 css 定位之绝对定位与相对定位

1. 关于定位 我们可以使用 css 的 position 属性来设置元素的定位类型 postion 的设置项如下 设置项 释义 relative 生成相对定位元素元素所占据的文档流的位置不变元素本身相对文档流的位置进行偏移 absolute 生成绝对定位元素元素脱离文档流不占据文档流的位置可以理解为漂浮在文档流的上方,相对于上一个设置了相对或者绝对或者固定定位的父级元素来进行定位如果找不到,则相对于 body 元素进行定位 fixed 生成固定定位元素元素脱离文档流不占据文档流的位置可以理解为

position属性中的绝对定位和相对定位

absolute(绝对定位):1.如果没有父级DIV,则会根据浏览器原始点去定位,而且跟他相邻的DIV会忽略它,定位后则可用TRBL(top,right,bottom,left)去布局.注意:TRBL必须在设定了position后方可用.2.如果有父级DIV,那还要看父级DIV是否有position和padding设置,如果有,则此DIV会根据父DIV去定位,且有“撑开或占据高度”的作用,如果没有,则跟上面没有区别.relative(相对定位):1.如果没有父级DIV,它和absolute没有区

绝对定位和相对定位的使用

CSS中的绝对定位与相对定位 层级关系为: <div ----------- position:relative; 不是最近的祖先定位元素,不是参照物<div----------没有设置为定位元素,不是参照物<div-------- position:relative 参照物<div box1<div box2 --–position:absolute; top:50px; left:120px;<div box3效果图: 为改变参照物(橘色框)后的效果层级关系为:&l

css绝对定位、相对定位和文档流的那些事

前言 接触html.和css时间也不短了,但每次用div+css布局的时候心里还是有点儿虚,有时候干脆就直接用table算了,很多时候用div会出现些不可预料的问题,虽然花费一定时间能够解决,但总不是个事,所以今天特地探索了下css+div的绝对定位和相对定位和文档流的关系. 文档流的概念 确切的说应该是文档文档流模型的机制,html的布局机制就是用文档流模型的,即块元素(block)独占一行,内联元素(inline).不独占一行 如块级元素(block) <div>div1</div&

(转)css绝对定位、相对定位和文档流的那些事

原文链接:http://www.cnblogs.com/tim-li/archive/2012/07/09/2582618.html 前言 接触html.和css时间也不短了,但每次用div+css布局的时候心里还是有点儿虚,有时候干脆就直接用table算了,很多时候用div会出现些不可预料的问题,虽然花费一定时间能够解决,但总不是个事,所以今天特地探索了下css+div的绝对定位和相对定位和文档流的关系. 文档流的概念 确切的说应该是文档文档流模型的机制,html的布局机制就是用文档流模型的,

CSS层模型中的绝对定位 相对定位 固定定位

1.绝对定位:元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left.right.top.bottom属性相对于其最接近的恶意个具有定位属性的父包含块进行绝对定位.如果不存在这么一个元素,则相对于body元素而言,也就是说相对浏览器而言. 2.相对定位:元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left.right.top.bottom属性确定元素在正常文档

css 中相对定位和绝对定位

1. css中定位机制有三种: 标准文档流, 浮动, 绝对定位 2. 绝对定位就属于第三种定位, 用到position属性, 下面就是具体设置 相对定位: 相对于自身原有位置(就是普通流的时候)进行偏移(设置top, left...后) 仍然处于标准文档流中 随即拥有偏移属性和z-index属性 绝对定位: 建立了以包含块为基准的定位 完全脱离了标准文档流 随即拥有偏移属性和z-index属性 3.  先上示例代码 1 <!DOCTYPE html> 2 <html lang="

辛星和你彻底搞清CSS中的相对定位和绝对定位

前面我在解读CSS中也说过了关于相对定位和绝对定位的问题,无奈还是有些童鞋表示迷茫,于是另开一篇博客,来详细解读相对定位和绝对定位,希望能够以我的点点星光,让后来者少走弯路. 所谓相对定位,就是设置为相对定位的元素会偏移某个距离,元素仍然保持原来的样式,它会保留该HTML元素的空间,比如我们看如下代码: .demo{ position: relative; width:50px; height: 50px; left:50px; } 它会出现在相对原来的地方向右50px的地方,而它原来所在的地方