主题:  DW的相对定义层概念

Juven

职务:普通成员
等级:2
金币:1.0
发贴:474
#12002/3/1 13:09:51
自从接触层后,总觉得它功能虽强大,但在定位上总无法控制自如,如何能让层永远跟着屏幕像素呢?比如制作下拉菜单,用到的层如何定义到单元格内?

烦请各位虾士帮帮忙,有具体教程就好噢!



Syawn

职务:普通成员
等级:5
金币:10.0
发贴:2930
#22002/3/1 19:25:13
你可以先随意找个地方插个层,然后再把标签拖动到表格中。



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
#32002/3/1 19:27:00
哪位用DW做成功过相对定位的层,贴出来看看!~



Syawn

职务:普通成员
等级:5
金币:10.0
发贴:2930
#42002/3/1 20:11:17
其实所谓的相对定位是指相对这个层的父级元素。
我记得层定位绝对是pionsition(好象拼错了,相对定位是absl.....



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
#52002/3/1 20:37:41
除了microsoft的我还没见过。。。



Juven

职务:普通成员
等级:2
金币:1.0
发贴:474
#62002/3/1 21:02:48
可我见过用层制作下拉菜单的层,都是放到单元格中,而且页面居中,层都会随着表格居中的,这是如何制作的呢。烦请大虾详细介绍噢。



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#72002/3/1 21:17:43
判断clientWidth属性.
随着clientWidth大小的变动,调整菜单层的left属性就可以了.



⌒孋兒⌒

职务:普通成员
等级:4
金币:10.0
发贴:1416
#82002/3/2 13:28:59
为了让用层作的菜单不错位,把网页都定为像素居左,这样就不会错了。



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
#92002/3/2 14:46:53
说是没用的,贴一个出来看看最实用,如果行得通大家就COPY源码就行了。



大雪糕

职务:普通成员
等级:2
金币:10.0
发贴:579
#102002/3/2 15:10:26
Hmily在上个帖子中说
引用:
说是没用的,贴一个出来看看最实用,如果行得通大家就COPY源码就行了。


没源码,因为每个人做的网页都不一样,按我的说法就是
插入一个居中的表格(必须是居中),再通过菜单里的插入层插入一个层1,层1的X和Y必须为空,然后在该层里再插一个层2,现在层2就可以相对定位了
再具体点,转载21bob论坛的帖

关于相对于绝对定位的问题经过一阵研究与借鉴他人经验,得出入下结论:
一. 常出现的问题
当你的表格选居中的时候又插入了层(插入层方法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象素宽定义表格,可以把父层插入到表格的第一行第一个单元格中,这样就可以在所有层制作完后插入父层了!对代码熟的朋友就可以手敲父层而不必再去调整子层的位置了。



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
#112002/3/2 15:12:57
YES,没错,以前我也看过,不过我没去试。
哪位朋友试成功了把页子贴出来看看,我真的想看。



iNET

职务:普通成员
等级:1
金币:1.0
发贴:245
#122002/3/2 15:45:32
202.114.38.228/index.asp
我用层做的菜单
看对大家有没有用?



I''MAD

职务:普通成员
等级:8
金币:11.0
发贴:9502
#132002/3/2 16:55:43
不错不错,历害!~



5DDreamweaver版主

职务:版主
等级:3
金币:10.0
发贴:1031
#142002/3/2 22:23:49
我也来帖一个
用DW做的,改了一下MM公司的JS


页面:点这儿参观

编辑历史:[这消息被qqkk2000编辑过(编辑时间2002-03-02 22:24:32)]
[这消息被qqkk2000编辑过(编辑时间2002-03-02 22:29:29)]


Juven

职务:普通成员
等级:2
金币:1.0
发贴:474
#152002/3/4 12:15:54
感谢各位高手的经验与技巧!