这篇文章是2000年时写的,那时有一个织梦论坛,站长是Jet,当我发了这个帖子后就被Jet邀请做了个版主,人生第一次当版主,确实挺兴奋的。
在那个年代,WEB页面有一个相对定位的问题无人解决,页面上的元素要么绝对定位,要么左右对齐,我这篇文章首次解决了相对定位的难题,所以一出现立刻一石激起千层浪。
由于文章年久失修,图片已丢失,文章放这里纪念一下,以下是原文:
-----------------------------------------------------------
关于相对于绝对定位的问题经过一阵研究与借鉴他人经验,得出入下结论:
一. 常出现的问题
当你的表格选居中的时候又插入了层(插入层方法1:object->draw layer)的时候(800*600),分辨率一旦变大、窗口最大化之后,层就错位了,而如果使用菜单(插入层方法2:Insert->Layer)插入层的时候,这个层就会与它的上级元素相对定位,但是一旦在Dreamweaver中用移动工具动了它,它就会马上变成绝对定位,不会再与上级元素相对定位了。
二. 思想:
通过object面板置入的层是绝对定位的层,这个绝对定位指的是层的左上角与浏览器窗口内部的左部、顶部距离,代码中的写法是left与top。
通过菜单置入的层是相对定位的层,这个相对定位指的是层与它的上级元素的距离(它的上级元素的左上角),由于这个div中不再有left与top的属性,所以浏览器把它的位置定为与它的上级元素相同
(总结一:只要去掉层的left与top属性就可以相对定位!)
三. 深入思想:
现在层已经相对定位了,可是只是这样还完全不能满足要求,因为很多时候不能把表格设定得那样准确,否则会把表格搞得很麻烦,把代码搞得很大很大。
如果在上面说做出的相对定位的层的基础上再做一个层对它相对定位,不就解决问题了吗?
这就涉及到了父层与子层的问题(由于它是层的基础,在书与网上教程中就可以看到,这里不再阐述),父层相对于某点定位,而子层相对于父层定位,就可以达到层的相对定位这个目标了
四. 具体制作(只介绍最简单的方法,对代码熟的朋友可以手敲的):
先在页面内插入表格(可以设居中,表格就居中了,否则几乎无意义),鼠标在某单元格内点一下,让光标在此闪动,然后通过菜单插入一个层,这个层就相对与这个单元格定位了。插入一个层之后,不要动它,而且也永远不要动,但是可以更改它的大小,比如把它的高与宽都改成"0",让它不再影响你对其他内容的编辑,否则,这个层的left与top属性出现之后就成了绝对定位了,变成绝对定位后你可以把它的left与top属性去掉,就恢复成相对定位了。变成"0"之后,有时子层会看不见,可以按[f11]键点它恢复编辑。
现在光标在这个层内闪动,再通过菜单插入子层,这时子层与父层重叠,你可以随意移动它,不管怎么动,它都是相对与父层定位。
好了,一个相对定位的层(子层)做好了,你可以在里面随意添加内容了,也可以改变它的尺寸、位置、背景等所有属性,但是不要动left与top属性,因为它是相对于父层的左上角定位的。
下面给出父层与子层在Dreamweaver中的属性面板:
父层:
子层:
五. 技巧:
先插入一个表格,在其中一个单元格中插入父层,可以把它定得小一点,比如说20象素宽、10象素高,这样它就不会盖住下面的链接,也不影响子层的相对定位。
如果要用778象素宽定义表格,可以把父层插入到表格的第一行第一个单元格中,这样就可以在所有层制作完后插入父层了!对代码熟的朋友就可以手敲父层而不必再去调整子层的位置了。
六. 结束语:
欢迎转载、欢迎批评,欢迎大家前来交流,转载请注明出处
相关推荐
在CSS布局中,绝对定位(absolute positioning)是一种强大的定位机制,允许元素脱离其正常文档流,并根据相对于某个特定祖先元素的位置进行布局。这篇博客“css-绝对定位的参考对象”深入探讨了这一主题,让我们一...
绝对定位则脱离了正常的文档流,元素的位置基于最近的已定位祖先元素(如果存在的话),否则将相对于初始包含块(通常是body)。设置`position: absolute;`后,我们可以使用`top`、`right`、`bottom`和`left`属性来...
在CSS布局中,绝对定位(absolute positioning)是一种强大的定位机制,允许开发者精确地控制元素在网页上的位置。本文将深入探讨CSS绝对定位属性`absolute`的用法,并提供实例来帮助理解。 首先,理解`position`...
本文将详细探讨这个主题,基于提供的压缩文件"人脸中的绝对定位.rar",我们可以推测这是一个关于在网页上精确控制元素位置的实例,可能涉及到人脸识别或者图像处理的元素。 绝对定位是CSS(层叠样式表)布局技术的...
1. **绝对定位(Absolute Positioning)**:当一个元素的`position`属性设置为`absolute`时,该元素将脱离正常文档流,相对于其最近的非`static`定位的祖先元素进行定位。如果不存在这样的祖先,则相对于`<html>`根...
- **定位参照**:绝对定位是相对于最近的非静态定位祖先,而相对定位则相对于元素本身。 - **文档流**:绝对定位元素脱离了正常文档流,而相对定位元素仍然存在于文档流中,不影响其他元素的布局。 - **影响范围**:...
绝对定位允许元素完全脱离文档流,并相对于其最近的已定位祖先元素进行定位。如果没有已定位的祖先元素,则相对于整个文档的根元素进行定位。 - **定义**: 设置`position: absolute;`后,元素将根据最近的已定位...
如果父元素被设置为相对定位,那么它的子元素可以使用绝对定位,这样子元素的位置就会相对于父元素进行调整,而不是相对于文档流。这在创建嵌套布局、弹出框或者复杂导航菜单时非常有用。 4. **案例应用**: 假设...
本文主要讨论的是CSS中的两种定位方式:相对定位和绝对定位,特别是在`div`元素中的应用。 1. 相对定位(relative) 相对定位允许元素相对于其原本在正常文档流中的位置进行偏移。当对一个元素设置`position: ...
绝对定位则允许我们将元素相对于其最近的非静态定位祖先元素进行定位,如果找不到这样的祖先,则相对于body定位。 在IE中,由于其对CSS标准的实现不完全,有时会出现浮动元素和绝对定位元素相互影响的问题。当一个...
定位主要包括静态定位、绝对定位和相对定位三种方式。 1. 静态定位(static):这是元素的默认定位方式,元素按照正常的文档流排列,不受left, right, top, bottom等属性的影响。 2. 绝对定位(absolute):绝对...
在CSS布局中,子元素相对于父元素的固定定位是一个常见的需求,这主要涉及到CSS的定位机制,包括绝对定位和相对定位。本篇文章将详细解析如何实现这个目标。 首先,我们来回顾一下绝对定位(absolute)和相对定位...
HTML5与CSS3网页制作之绝对定位 ...在总结中,我们可以看到,绝对定位是相对于最近的已经定位的父元素进行定位的,它可以帮助开发者实现各种复杂的布局效果。因此,掌握绝对定位的技术是非常重要的。
如果没有这样的祖先,那么它会相对于body定位。通过设置`position: absolute;`和`top`, `right`, `bottom`, `left`属性,我们可以精确地控制元素的位置。 当元素重叠时,通常是因为它们的z-index值没有正确设置或...
绝对定位脱离了正常的文档流,它的位置基于最近的已定位祖先元素(拥有`position`属性且非`static`),如果没有这样的祖先,那么它会相对于浏览器窗口的左上角。绝对定位的元素不占用任何空间,可以通过`z-index`...
要想控制好层的绝对定位,只要理解CSS中关于定位(position)的定义...定位(position)允许用户精确定义元素框出现的相对位置,可以相对于它通常出现的位置,相对于其上级元素,相对于另一个元素,或者相对于浏览器视
`可以将元素相对于最近的非静态定位祖先元素进行定位。在瀑布流布局中,我们需要为每个元素设置左上角的坐标,使其在页面上正确对齐。 3. **列数计算**:根据窗口宽度确定每行可容纳的元素数量。例如,可以设定一个...
绝对定位意味着根据接收到的卫星信号,计算出相对于地球参考坐标系的精确位置,而非相对于已知地点的相对位置。在理想情况下,忽略所有误差源(如信号多径效应、电离层延迟等),可以得到最准确的结果。 7. **项目...
首先,创建一个包含大图和悬浮放大图标的容器,设置容器的`position`为`relative`,这样内部的图标就可以相对于这个容器进行绝对定位。然后,设置放大图标的`position`为`absolute`,并利用`top`、`right`、`bottom`...