大约在一年半前,那时海娃刚学网页制作不久,整天为辛苦做的网页没有人看而发愁时,正好开始使用一个抓图的软件,于是在床上想:为什么不做一个桌面似的网页呢?那晚由于这个新想法,我真的兴奋了许久!这的确是一个很好的想法,很多网友在看到我的桌面网页时说,他们也有这种想法,只是由于各种原因没有做出来。
桌面网页的特色
桌面风格的网页做首页或者导航栏比较好,因为它简洁、直观,当浏览者进入桌面就看到网页有哪几个部分内容。根据内容和栏目的多少,来确定桌面图标的图像与多少,同样,在菜单和任务栏区,都可做新闻、信息链接。
网页的实现
当时有这个想法时,我还没有接触过css,javascript,只是用frontpage来做简单的的网页,懂很简单的html。由于当时这种桌面风格的网页是由一个抓图软件而想起的,所以,开始就用抓来的图片加上热点链接来实现,也没有右键菜单。而下面的任务栏则是用框架网页来实现。严格的说,那不叫做桌面风格的网页,只能说是图片。
对于有一定html、css、javascript基础的网页爱好者,实现这种桌面风格的网页是不难的。桌面中的元素:图标、菜单、对话框主要是用层的定位、显示隐藏、拖动等来实现的。可以说,样式表在实现桌面风格的起关键性作用!
由于桌面网页比一般的网页工作量大很多,为了使制作者更好的改进,浏览者更容易看懂源文件,应将网页各个部分进行拆分。从系统桌面来看,大体上有以下几个部分:桌面图标、开始菜单、任务栏、右键菜单和对话框窗口。同样网页也分为这几部分,我们可以先把各个部分完成后,再把它们组合在一起。
主要制作工具:网页制作Frontpage2000、抓图HyperSnap-DX 4、图像处理工具、源文件编辑工具Notepad。(这只是我比较习惯的工具,大家可以根据自己的喜好选择工具)
制作环境:Windows2000专业版、IE5.0。
菜单对与对话框的凸凹感:
我们天天看到的右键菜单、任务栏和开始菜单,都有立体感,我们通过css来实现这种效果是很容易的。具体是通过border(边框),在上下左右设置不同的颜色,以达到立体感的效果。以下面的例子说明:


样式表:.up{border-right: #000000 2px solid; border-top: #FFFFFF 2px solid; border-left: #FFFFFF 2px solid; border-bottom: #000000 2px solid; background-color: #D8D8D0}
在要用立体感的层上加上class=up 例子:<div class=up style=".."></div>
要使层有凸出感,我们可以先选择好层的背景,层的上、左边框用比背景颜色浅一些,而层的下、右边框用比背景深一些。同样如果定义有凹进感的层,上、左边要深,下、右边要浅。边框的宽度来改变立体感的强弱。像快速启动栏处的凸出感不太强,1px就可以了。大家可以看一个没有定义好样式表的情形。
桌面图标:
从图标的要求与功能上来看,它应该可以拖动、双击打开链接、图标的外观与链接的内容相关等。这样要求我们来用每个层来定义一个图标,图标的拖动就是层的拖动和层的绝对定位。图标图片最好是透明的GIF图片,大小与图标大小一致32×32。我们可以用.ICO文件来转换成.GIF图形,或者用抓图软件来抓取系统桌面的图标。当然如果你的图像处理的水平不错,你可以做好更好看的图标。双击链接,我们可以通来onDblClick(双击)鼠标事件来完成。排列图标的实现,就是再一次对层的绝对定位。
菜单:
菜单每个项目同样是用层。主要用到鼠标的悬停(onmouseover)、鼠标离开(onmouseout)来改变层的背景色,和菜单的隐藏与显示。开菜单栏的图片用24×24大小的GIF图片,菜单的下一级目录菜单可以用16×16大小的。同一类菜单放在一个层中来定位。
开始菜单中的定位:
定位中通常用top:XX;left:XX;而开始菜单要用bottom:XX来定位,因为不管浏览器窗口的大小,菜单都在在最底处。开始菜单放在一个表格中,分为两个单元格,左边放在网站标记图片,右键放所有的菜单项目:关机、注销、帮助……
下面以图示的形式说明开始菜单的制作细节:
开始菜单的制作细节:
序号1处是一个图片,放在单格中,将单格的背景设置为这个图片上端的颜色,单格的定位为底边对齐,这样做的好处是为了使当菜单长度大于图片时,不会出现颜色突变。用Frontpage和抓图工具可以完成。思路是用一个渐变的色条作表格的背景,在上面写是所要的文字,调整好文字的颜色、字体,然后抓图,再通过FP里面的图像工具来转换角度。
序号2处是大小为24×24的GIF透明图像,可以抓系统菜单中的图标。

序号3处是一段空隙,这里不要用空格,可以用一段隐藏的文字符号来代替。这是一个例子:
<span style="visibility: hidden">-----</span>
序号4处的箭头是用的Webdings字体:<font face="Webdings">4</font>。背景色为深蓝色,是因为鼠标放在上面,通过鼠标形为来动态改变菜单层的样式表。例如: onMouseOver=this.className='over' onMouseOut=this.className='overout'
序号5处是用的水平线;为了使它更真实,要用样式表来控制它的样式,例如:
hr{width:95%;border: 1px inset #F0F0F0}
序号6处的空隙同样不要用空格;我们可以用hspace(水平间距)、vspace(垂直间距)。在图像的定位中,要用绝对垂直居中(align="absmiddle"),不然文字会与图像下边对齐;正常的表达:
<img src="http://www.blueidea.com/tech/web/2003/*.gif" align="absmiddle" width="24" height="24" hspace="6" vspace="1">
任务栏:
从图片可以看出,任务栏中图像是主要部分。
制作思路:把它们定位在一个表格中,每一个单元格中放置一个图片。这个大的表格定位在最底下,用上面提到的bottom,表格的宽度调用screen.width。用不同的样式表来控制各个部分的凹凸外观。用鼠标的形为来动态改变调用已经定义好的样式表。在快速启动栏中,要用到鼠标的over,out,down,up四个行为。例如:onMouseXX=this.className=XX。快速启动栏处的图标大小为20×20,单元格的宽度要大于24,因为太小了,当然悬停的时候,整个任务栏可能会左右移动。
窗口与对话框:
对话框中有可以拖动的标题栏,关闭窗口的关闭按钮。拖动形为就是层的拖动,关闭对话框就是层的隐藏。为了使对话框窗口能在




















