利用相对定位,将透明FLASH置放在背景图之上,看上去是两层,但HTML不承认那背景图作为单独的层。因此相对定位的所有内容都在同一个层上,利用偏移设置可以改变内容的显示位置,但不能改变原来的布局。在它原来应处的位置上因偏移而留下的空缺,还是不能容纳别的内容填补。
利用绝对定位,可以创建一个游离于文本之上(或下)的真正意义的“层”,它不会影响文本原来的布局。例如,为了美化老小孩博客日记,需要在日记的题头照片(或文本)上面放置透明FLASH。那么可以创建一个放置FLASH的“层”,使其位于题头照片正上方。本文的题头FLASH“飘落的枫叶”就是一个例子。下面是它的源代码。黑色文字是创建“层”的div标签,蓝色文字是显示枫叶FLASH的embed标签。
left:5px;top:110px;width:560px;height:420px;">
src="http://imgfree.21cn.com/free/flash/52.swf"
width="560" height="420"
quality="high" wmode="transparent">
对创建“层”的div标签内的样式设置做以下解释:
Position:absolute;
--采用“绝对定位”。创建“层”一定要用“绝对定位”;
z-index: 1;
--层的重叠顺序属性,其值可以是正整数、0、负整数;
left:5px;top:110px;
--相对于“原点”的偏移量; 现有数字适合老小孩的博客日记;
width:560px;height:420px;
--层的面积,宽度560px是老小孩日记的最宽数据(高度的设置经常可省)。
还有常用的属性如overflow这里没有设置,这是在宽度与高度都设置,而内容超过层的面积时,该如何处理的属性。默认是“可显示”visible。即宽度不变,多余的内容会使“层”向下延伸而得到显示。可选hidden,将多余部分隐藏不显示。还可以在建“层”时设置层的背景色、边框样式等等,这里不展开了。
上述代码是创建一个“层”的最基本的设置。 需要解释的是“绝对定位”的坐标“原点”的概念。不管建几个“层”,不管这建层的语句出现在源代码的何处,所有“层”的定位,都是与同一个“原点”的偏移来完成的。这就是“绝对”的含义。如不特别设置,“原点”总是位于屏幕的左上角。但老小孩博客日记是镶嵌在“日记页面”上的,它的“原点”是经特别设置的,请看本文页面顶部用红色小方块做的标记,“原点”位于小方块的左上角。而我们的博客日记是镶嵌在一条虚线的下方,虚线离那个原点的垂直距离约110px,这就是上面的代码里要设置top=110px“顶偏移”的原因。
如果要放置多个FLASH,可以建多个层(完全拷贝上面的代码),每层放一个FLASH,或者写文字标题等。要注意两点:一,是每层的div标签头尾成一对,不要漏了一个带斜杠的/div封闭标签;二 ,是每层都要将Z-index设置成不同的值,可以是2,3,4等等,数值大的表示显示位置在上。(可以理解成这是“层”的三维Z坐标值)。
在老小孩博客,这段代码的使用方法:
1.全部写好博客日记,包括贴上该贴的照片后(一切就绪),将编辑器切换到“源代码”,编辑器显示“日记”的全部代码。
2.将上面这段代码拷贝到“日记”代码的最后面,或者最前面。很多网友喜欢放在前面,但我建议放在最后面,可以避免很多麻烦。
3.按需替换代码里的FLASH的地址、宽、高等数据。
4.将编辑器切换到文本编辑,这FLASH会以一个带有大F字的方块显示(对透明FLASH,能看到透明方块周围的八个位置控制点),它覆盖在已经写好的文字(或照片)上。看看是不是需要调整FLASH的大小和位置。但要注意,老小孩的编辑器里所看到的(包括在“预览”里看到的),与实际发表的位置是不同的。这是由于编辑器及预览页面的“原点”都是显示框的左上角,与发表的日记区域是不同的,一定要先发到“草稿簿”里去看,以此为准。
5.如果需要调整偏移量,建议切换到“源代码”状态调整代码,这比用鼠标拖曳小点容易控制。
请注意这段代码里有两处设置了宽和高。在div标签里,设置的是“层”的大小,在embed标签里设置的是FLASH的显示大小。前者应大于或等于后者。 例子中两者是相等的。
在老小孩的应用中,可利用离原点的“顶偏移top”的设置,将层上的FLASH覆盖在文本中任意位置的照片上。
当全部完成以后,却发现文本需要修改,而在编辑器里那个大F方块很可能覆盖了要修改的内容(不要以为FLASH是透明的不像覆盖),使更改文本无从着手。这时可以在z-index的值前加个“负号”,成“-1”(可以理解日记文本的层号是0),这样,FLASH层被压到文本层的下方去了,大F也不显示了,使继续编辑日记文本成为可能。待再编辑结束,将“-1”改成“1”,FLASH层又回到前面来了。
这里将“层”用来放透明的FLASH,其实,在“层”上可以像文本层一样的使用,如贴照片,写文字。还可用“透明过滤器”将层设置成透明的等等,就看如何应用了。本文中介绍的是最基本的设置和应用。代码中的偏移数据,只供老小孩博客日记使用。
下面是对“原点”的改进设置,供有兴趣的网友参考。
如前所述,由于老小孩日记页面提供给我们的原点位置,与实际写日记的开始处有偏移,而且这偏移量并不是固定的,它随着日记前后两篇文章的标题文字的长短(占有的行数,增加一行约20px)不同而变化。尤其是不能预计尚未发表的下一篇文章标题的长短。为此,请改用下面的代码段。这段代码将原点调整到老小孩提供给我们写日记区域的内部。(请看本篇文章中的蓝色的小方块,原点是小方块的左上角)。这样,估计或调整偏移量就会方便很多。对有些将FLASH作为标题装饰的,将偏移量设置成0即可。但拷贝这段代码需分两步:
1. 将第一个div的标签拷贝到日记代码的最前面(以 蓝色表示的代码段);这是个“相对定位”层的启始标签,它的封闭标签在最后。
2. 将其余的代码(以黑色表示的代码段)拷贝到日记代码的最后面。 不要漏掉封闭标签(特别要注意)。
--(这里是日记代码区)--
left:0;top:0;width:560px;">
src="http://imgfree.21cn.com/free/flash/52.swf"
width="560" height="420" quality="high"
wmode="transparent">
←(请注意有两个封闭标签)
用这方法“创建”一个“自定义”的原点,对需要跨网交流的网友,也许是一个可考虑的做法。
--全文完--
|