div中position相对定位与绝对定位实例

定位标签:position

包含的属性:relative(相对)与 absolute(绝对)

1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)
例如:

#mybox{
position:relative;
left:20px;
top:20px;
}

效果就是使这个层向下和向左移动了20px。

2.position:absolute; 表示绝对定位,位置将依据浏览器左上角的0点开始计算,
绝对定位使元素与文档流无关,因此不占据空间。普通文档流中其这元素的布局就像绝对定位的元素不存在时一样。它相对于最近的已定位的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。根据用户代理的不同,最初的包含块可能是画布事HTML元素。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制这些框的堆放次序。z-index的值越高,框在堆中的位置就越高。)

那么有个问题产生了,现在大家做的网页大部分是居中的,那么我需要这个元素跟着网页

中的某个元素位置不论分辨率是多少他的位置始终是针对页内的某个元素的,那么单纯的

absolute是不行的。

正确的解决方法就是在元素的父级元素定义为position:relative;(更正:这里可以是祖父

级,也可以是position:absolute;)需要绝对定位的元素设为position:absolute;

这样再设定top,right,bottom,left的值就可以了,这样其定位的参照标准就是父级的左上角padding的左上侧!

下面看一些实例

 代码如下 复制代码

<style>
body{margin: 30px; font-size:9pt;}
.a, .b, .c, .d, .e
{ width: 100px;height: 100px;margin: 5 auto;color: #fff;background: #000;
}
.aa, .bb, .cc, .dd, .ee
{top: 10px;left: 10px;width: 10px;height: 10px;overflow: hidden;
background: #F90;
}
.b, .d, .e
{position: relative;}
.cc, .dd, .ee
{position: absolute;}
</style>

<div class="a">
<div class="aa"></div>
A:均不设置postion,一般嵌套关系
</div>

<div class="b">
<div class="bb"></div>
B:仅外div设置relative,一般嵌套关系
</div>

<div class="c">
<div class="cc"></div>
C:仅内div设置absolute,文档中为嵌套关系,页面中内div浮起[非float],相对于页面定位,与外div无关。
</div>
 
<style>
body
{margin: 30px; font-size:9pt;}

.a, .b, .c, .d, .e
{
width: 100px;
height: 100px;
margin: 5 auto;
color: #fff;
background: #000;
}
.aa, .bb, .cc, .dd, .ee
{
top: 10px;
left: 10px;
width: 10px;
height: 10px;
overflow: hidden;
background: #F90;
}
.b, .d, .e
{position: relative;}
.cc, .dd, .ee
{position: absolute;}
</style>

<div class="a">
<div class="aa"></div>
A:均不设置postion,一般嵌套关系
</div>

<div class="b">
<div class="bb"></div>
B:仅外div设置relative,一般嵌套关系
</div>

<div class="c">
<div class="cc"></div>
C:仅内div设置absolute,文档中为嵌套关系,页面中内div浮起[非float],相对于页面定位,与外div无关。
</div>

<div class="d" style="background:#ff0000">
<div class="dd" ></div>
D:外div设置relative,内div设置absolute,内div浮起来并相对于外div定位
</div>

<div class="d" style="background:#ff0000">
<div class="dd" style="position:relative"></div>
D:外div设置relative,内div设置relative,内div浮起来并相对于外div定位
</div>

<div class="e">
<div class="ee" style="left: -10px;"></div>
E:这个是说明边界问题。-10 != 反向10px间距
</div>

时间: 2024-09-25 11:57:25

div中position相对定位与绝对定位实例的相关文章

css中position相对定位和绝对定位(relative,absolute)详解

在CSS中有这样的一个指令:(position) 在DW中文版中翻译为"定位",常用的属性有relative(相对)与 absolute(绝对). 有很多朋友对这条指令的用法还是不清楚,这里做一定细致的讲解: position:relative; 表示相对定位,被定位了这个属性的标签在所属的范围内可以进行上下左右的移,这里的移动与padding或是margin所产生的位置变化是不一样的.padding与margin是元素本身的一种边距与填充距离并不是真正的移动,而被定义为relativ

js动态添加的DIV中的onclick事件简单实例_javascript技巧

最简单的是这样: <input type="button" onclick="alert(this.value)" value="我是 button" /> 动态添加onclick事件: <input type="button" value="我是 button" id="bu"> <script type="text/javascript&quo

CSS网页中的相对定位与绝对定位

css|网页 在CSS中有这样的一个指令:(position) 在DW中文版中翻译为"定位",常用的属性有relative(相对)与 absolute(绝对). 有很多朋友对这条指令的用法还是不清楚,这里做一定细致的讲解: position:relative; 表示相对定位,被定位了这个属性的标签在所属的范围内可以进行上下左右的移,这里的移动与padding或是margin所产生的位置变化是不一样的.padding与margin是元素本身的一种边距与填充距离并不是真正的移动,而被定义为

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

css 在CSS中有这样的一个指令:(position) 在DW中文版中翻译为"定位",常用的属性有relative(相对)与 absolute(绝对). 有很多朋友对这条指令的用法还是不清楚,这里做一定细致的讲解: position:relative; 表示相对定位,被定位了这个属性的标签在所属的范围内可以进行上下 左右的移,这里的移动与padding或是margin所产生的位置变化是不一样的.padding与 margin是元素本身的一种边距与填充距离并不是真正的移动,而被定义为r

div+css相对定位和绝对定位用法实例详解

本文向大家介绍一下CSS relative相对定位的概念,如果对一个元素进行相对定位,它将出现在它所在的位置上. CSS relative相对定位 设置为相对定位的元素框会偏移某个距离.元素仍然保持其未定位前的形状,它原本所占的空间仍保留. CSS 相对定位 相对定位是一个非常容易掌握的概念.如果对一个元素进行相对定位,它将出现在它所在的位置上.然后,可以通过设置垂直或水平位置,让这个元素"相对于"它的起点进行移动. 如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像

html table td 中 使用相对定位(relative)和绝对定位(absolute)的div

absolute绝对定位的div放在td中,他的定位是相对于table的左上角. relative相对定位的div放在td总共,他的定位是相对于本td的的左上角. 当把td设置成相对或者绝对定位,所有定位都正常了,也就是说在内层使用定位,外层必须也要使用定位. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra

jQuery中position()方法用法实例_jquery

本文实例讲述了jQuery中position()方法用法.分享给大家供大家参考.具体分析如下: 此方法获取匹配元素相对某些元素的偏移量. 返回的对象包含两个整型属性(top和left)的对象. 此方法只对可见元素有效.语法结构: 复制代码 代码如下: $(selector).position() 在教程的开头之所以说是获取匹配元素相对于某些元素的偏移量.很多教程都说方法返回的偏移量是相对于父元素,其实并非完全如此,此方法会将匹配元素以绝对定位方式处理,当然并不是说真的将匹配元素设置为绝对定位.方

div布局-HTML中PNG图片的绝对定位的小问题,谢谢了

问题描述 HTML中PNG图片的绝对定位的小问题,谢谢了 <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> *{margin:0; padding:0;} .A{background:#ccc; width:800px; height:50px; position:relative; top

CSS中position属性之fixed实现div居中_javascript技巧

position 属性规定元素的定位类型.这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会相对于它在正常流中的默认位置偏移. 上下左右 居中 div{ position:fixed; margin:auto; left:0; right:0; top:0; bottom:0; width:200px; height:150px; } 如果只需要左右居中,那么把 bottom:0; 或者 top:0; 删掉即