|
一. 常出现的问题
( U7 N( y5 E7 e9 v m( e; f 当你的表格选居中的时候又插入了层(插入层方法1:object->draw layer)的时候(800*600),分辨率一旦变大、窗口最大化之后,层就错位了,而如果使用菜单(插入层方法2:Insert->Layer)插入层的时候,这个层就会与它的上级元素相对定位,但是一旦在Dreamweaver中用移动工具动了它,它就会马上变成绝对定位,不会再与上级元素相对定位了。
- t( |3 ]/ C$ E1 V; V- Y: B; K# q4 S9 j4 `9 r/ f! b. t. d
二. 思想: 8 |6 S& C5 M9 V9 }$ X& y! t6 g) |
通过object面板置入的层是绝对定位的层,这个绝对定位指的是层的左上角与浏览器窗口内部的左部、顶部距离,代码中的写法是left与top。 5 w& L. F1 L% g; @: R
通过菜单置入的层是相对定位的层,这个相对定位指的是层与它的上级元素的距离(它的上级元素的左上角),由于这个div中不再有left与top的属性,所以浏览器把它的位置定为与它的上级元素相同。 B( V5 W- t2 s0 h
(总结一:只要去掉层的left与top属性就可以相对定位!)
* j9 }8 l: [+ h5 D0 t" f
" O M- ]3 u" K! ^" ^. ~7 ?1 }
; Y' q* ~ T3 w& R) @
1 R0 A9 X, |2 D5 U. z) S! F 三. 深入思想: 7 _6 ?) s& M6 ~/ d
现在层已经相对定位了,可是只是这样还完全不能满足要求,因为很多时候不能把表格设定得那样准确,否则会把表格搞得很麻烦,把代码搞得很大很大。 + ~6 ]: Q, g) d3 X8 U
如果在上面说做出的相对定位的层的基础上再做一个层对它相对定位,不就解决问题了吗?这就涉及到了父层与子层的问题(由于它是层的基础,在书与网上教程中就可以看到,这里不再阐述),父层相对于某点定位,而子层相对于父层定位,就可以达到层的相对定位这个目标了。
! [. }0 k5 K9 i# u2 s6 ^
$ C# v% i& T2 B. i2 S 四. 具体制作(只介绍最简单的方法,对代码熟的朋友可以手敲的): / ?* J6 @. L h1 z! J2 Q. _
先在页面内插入表格(可以设居中,表格就居中了,否则几乎无意义),鼠标在某单元格内点一下,让光标在此闪动,然后通过菜单插入一个层,这个层就相对与这个单元格定位了。插入一个层之后,不要动它,而且也永远不要动,但是可以更改它的大小,比如把它的高与宽都改成"0",让它不再影响你对其他内容的编辑,否则,这个层的left与top属性出现之后就成了绝对定位了,变成绝对定位后你可以把它的left与top属性去掉,就恢复成相对定位了。变成"0"之后,有时子层会看不见,可以按[f11]键点它恢复编辑。现在光标在这个层内闪动,再通过菜单插入子层,这时子层与父层重叠,你可以随意移动它,不管怎么动,它都是相对与父层定位。 ' e+ g2 U5 w8 B% S; u" g, I
好了,一个相对定位的层(子层)做好了,你可以在里面随意添加内容了,也可以改变它的尺寸、位置、背景等所有属性,但是不要动left与top属性,因为它是相对于父层的左上角定位的。
" j H# Q8 Y" [; E1 b* z8 y& A 下面给出父层与子层在Dreamweaver中的属性面板: 7 N, R% k& F0 z5 J9 W
父层:! l* B) k4 R B c' k- u B
1 p& V5 o3 b8 W4 K$ n# w0 R$ q+ e$ C7 d7 j% s$ W* i" R
+ b4 D5 o$ O) n. Q/ u 子层:" a+ b1 v% E5 d4 |) x* ]+ T f+ l
% {8 x8 a2 U! {" Q, K
4 I V" V9 J. V7 V% N
! T6 }4 h8 L3 S0 ?9 |3 D& i- u( C5 {6 o. h) x6 Z
五. 技巧:
% \ r8 M8 c1 D9 q% z 先插入一个表格,在其中一个单元格中插入父层,可以把它定得小一点,比如说20象素宽、10象素高,这样它就不会盖住下面的链接,也不影响子层的相对定位。
" ?2 ~! n. k$ {* q8 y! A0 `: S5 u 如果要用778象素宽定义表格,可以把父层插入到表格的第一行第一个单元格中,这样就可以在所有层制作完后插入父层了!对代码熟的朋友就可以手敲父层而不必再去调整子层的位置了。 |
|