网页图片水印效果
从传统意义上讲,水印是用来鉴别真假,因为他们的存在并不影响印刷在该页上内容的清晰度。 后来GeoCities 把水印的概念引入数字时代。在页面制作时利用这个技巧,在页面上就可以作出一个半透明的标志,它就像独立的悬浮在页面上一样。尽管这很麻烦,但能产生非常漂亮的效果 。 
   这里有几种在主页上产生水印效果的方法。例如,如果访问者使用的是IE浏览器,只需用<BODY background="http://www.luuijie123.blog.163.com/g.gif" bgproperties=fixed>就可产生水印效果。但这对Navigator不适用,它会自动的将图片平铺显示。 
   为了兼顾不同的浏览器,必须使用动态HTML(DHTML)来实现这个功能。GeoCities采用服务器端来检测访问者使用的浏览器,并针对不同的浏览器(IE或Navigate)采用不同的实现方法。我们编写了一种单一的客户端脚本,它能在上述两种浏览器上工作,甚至还可以给您更大的选择余地。 
   第一步 
   创建或设计水印图案。它可以是支持任何HTML语言的图像格式,尽管图像的的尺寸是准确的,您还必须将它的尺寸提供给脚本。同时您还需花时间从页面的整体上来考虑水印的设计。水印是否设计为透明的?是否要和背景色协调?应该有多大?我们建议这一步一定要细心,以免遮蔽页面或扰乱访问者的注意力。 
   第二步 
   确定把水印放在不支持DHTML浏览器的何处(比如说底部)。然后在<DIV>标记中嵌入属性 id="waterMark",stytle="position:absolute"。 
   
  <DIV id="waterMark" style="position:absolute"> 
  <A href="/index.html"><IMG src="/Images/watermark.gif" width=90 height=90 border=0></A> 
  </DIV> 
  第三步 
  
   在包含水印的<DIV>容器之后添加该脚本,这样就可以实现水印效果。较好的位置是放在结束的</BODY>标记前。 
  
  <script language="javascript1.2"><!-- 
  // Watermark script by Paul Anderson, CNET Builder.com. All rights reserved. 
  markW = 64; // pixels wide 
  markH = 64; // pixels high 
  markX = 100; // percent right 
  markY = 100; // percent down 
  markRefresh = 20; // milliseconds 
   
  // set common object reference 
  if (!document.all) document.all = document; 
  if (!document.all.waterMark.style) document.all.waterMark.style = document.all.waterMark; 
  wMark = document.all.waterMark.style; 
  wMark.width = markW; 
  wMark.height = markH; 
  navDOM = window.innerHeight; // Nav DOM flag 
  function setVals() { 
   barW = 0; // scrollbar compensation for PC Nav 
   barH = 0; if (navDOM) { 
   if (document.height > innerHeight) barW = 20; 
   if (document.width > innerWidth) barH = 20; 
   } else { 
   innerWidth = document.body.clientWidth; 
   innerHeight = document.body.clientHeight; } 
   posX = ((innerWidth - markW)-barW) (markX/100); 
   posY = ((innerHeight - markH)-barH) (markY/100); 
   } 
  function wRefresh() { 
   wMark.left = posX + (navDOM?pageXOffset:document.body.scrollLeft); 
   wMark.top = posY + (navDOM?pageYOffset:document.body.scrollTop); 
   } 
  function markMe() { 
   setVals(); window.onresize=setVals; 
   markID = setInterval ("wRefresh()",markRefresh); 
   } 
  window.onload=markMe; // safety for Mac IE4.5 
  //--> 
  </script> 
   你可以根据自己的水印来调整这个脚本前面的五个设置变量。 
   markW = 64; // pixels wide 
   markH = 64; // pixels high 
   markX = 100; // percent right 
   markY = 100; // percent down 
   markRefresh = 20; // milliseconds 
   markW和markH变量分别和水印宽度和高度(用象素数表示)相等。如果水印中包含HTML文本,那么文本的宽度大约和该像素宽度相等。markX和markY用于确定水印在页面中的位置,它们是用所在位置与离开屏幕右上角尺寸的百分比来表示的。例如,如果它们均为50则表示位于屏幕的中央,如果分别为100和0时,表示位于屏幕的右上角。最后,调整markRefresh确定浏览器更新水印位置的频度,单位是毫秒。当这个值较低时,在滚动页面和水印本身更新的延迟时间较短,但这会向浏览器提出更多的更新请求。
 
样式可以用到<table...>标签和<td...>标签   
  .xuxian   {         border-top-width:   1px;   //顶边边框宽度   
                  border-right-width:   1px;   //右边边框宽度   
                  border-bottom-width:   1px;//底部边框宽度   
                  border-left-width:   1px;//左边边框宽度   
    
                  border-top-style:   dotted;//顶边样式为虚线   
                  border-right-style:   dotted;//右边样式为虚线   
                  border-bottom-style:   dotted;//底边样式为虚线   
                  border-left-style:   dotted;//   左边样式为虚线   
    
                  border-top-color:   #000000;//顶边边框的颜色   
                  border-right-color:   #000000;//右边边框的颜色   
                  border-bottom-color:   #000000;//底边边框的颜色   
                  border-left-color:   #000000;//左边边框的颜色   
  }   
    
  除了定义为虚线你还可以把中间那一组样式定义为如下样式,举例:   
  border-top-style:   dashed;//点划线   
  border-top-style:   double;//双线   
  border-top-style:   groove;//槽状   
  border-top-style:   ridge;//脊状   
  border-top-style:   inset;//凹陷   
  border-top-style:   outset;//凸出
