Windows桌面风格页面制作点滴(1)
|
大约在一年半前,那时海娃刚学网页制作不久,整天为辛苦做的网页没有人看而发愁时,正好开始使用一个抓图的软件,于是在床上想:为什么不做一个桌面似的网页呢?那晚由于这个新想法,我真的兴奋了许久!这的确是一个很好的想法,很多网友在看到我的桌面网页时说,他们也有这种想法,只是由于各种原因没有做出来。 桌面网页的特色 网页的实现 对于有一定html、css、javascript基础的网页爱好者,实现这种桌面风格的网页是不难的。桌面中的元素:图标、菜单、对话框主要是用层的定位、显示隐藏、拖动等来实现的。可以说,样式表在实现桌面风格的起关键性作用! 由于桌面网页比一般的网页工作量大很多,为了使制作者更好的改进,浏览者更容易看懂源文件,应将网页各个部分进行拆分。从系统桌面来看,大体上有以下几个部分:桌面图标、开始菜单、任务栏、右键菜单和对话框窗口。同样网页也分为这几部分,我们可以先把各个部分完成后,再把它们组合在一起。 主要制作工具:网页制作Frontpage2000、抓图HyperSnap-DX 4、图像处理工具、源文件编辑工具Notepad。(这只是我比较习惯的工具,大家可以根据自己的喜好选择工具) 具体细节表现: 菜单对与对话框的凸凹感: 我们天天看到的右键菜单、任务栏和开始菜单,都有立体感,我们通过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 例子: 要使层有凸出感,我们可以先选择好层的背景,层的上、左边框用比背景颜色浅一些,而层的下、右边框用比背景深一些。同样如果定义有凹进感的层,上、左边要深,下、右边要浅。边框的宽度来改变立体感的强弱。像快速启动栏处的凸出感不太强,1px就可以了。大家可以看一个没有定义好样式表的情形。 桌面图标: 菜单: 开始菜单中的定位: 下面以图示的形式说明开始菜单的制作细节: 开始菜单的制作细节: 序号2处是大小为24×24的GIF透明图像,可以抓系统菜单中的图标。 序号3处是一段空隙,这里不要用空格,可以用一段隐藏的文字符号来代替。这是一个例子: 序号4处的箭头是用的Webdings字体:4。背景色为深蓝色,是因为鼠标放在上面,通过鼠标形为来动态改变菜单层的样式表。例如: onMouseOver=this.className="over" onMouseOut=this.className="overout" 序号5处是用的水平线;为了使它更真实,要用样式表来控制它的样式,例如: 序号6处的空隙同样不要用空格;我们可以用hspace(水平间距)、vspace(垂直间距)。在图像的定位中,要用绝对垂直居中(align="absmiddle"),不然文字会与图像下边对齐;正常的表达: 任务栏: 从图片可以看出,任务栏中图像是主要部分。 制作思路:把它们定位在一个表格中,每一个单元格中放置一个图片。这个大的表格定位在最底下,用上面提到的bottom,表格的宽度调用screen.width。用不同的样式表来控制各个部分的凹凸外观。用鼠标的形为来动态改变调用已经定义好的样式表。在快速启动栏中,要用到鼠标的over,out,down,up四个行为。例如:onMouseXX=this.className="XX"。快速启动栏处的图标大小为20×20,单元格的宽度要大于24,因为太小了,当然悬停的时候,整个任务栏可能会左右移动。 窗口与对话框: 对话框中有可以拖动的标题栏,关闭窗口的关闭按钮。拖动形为就是层的拖动,关闭对话框就是层的隐藏。为了使对话框窗口能在各种分辨率下居中,我们可以调用screen.width、screen.height(窗幕的宽与高),例如: style="position: absolute; top:expression((screen.height-150)/2); left:expression((screen.width-200)/2); width: 200; height: 150"
现在很多网页都有换肤的功能,这样使网页更加个性化。为了使桌面风格的网页也有类似桌面主题的功能,我们可以使用改变样式表文件的链接:写几个有不周风格的样式表,通过javascript来调用,达到改变主题的功能。 样式表的链接读法要改为:这里的id=css中的css与上面javascript中的css.href中的css指的是同一个。请看一下几个主题的效果(如图):
另一存改变样式表的方法为改变className: 为了使网页更形象,我可以用键盘事件来进行网页操作,如用键盘打开开始菜单,Esc键隐藏对话框等等。这里要用到了onkeydown;下面是一个例子:
当在当前页回车时,就会打开网页陶吧http://homepage.yesky.com,这里的13代表回车键。
网页进度条: 思路是根据源文件下载的进程来实现的,把源文件分为几个部分,每隔一部分,加一段代码,来动态改变一个图片的长度.显示出下载的进程和百分比。 困难和解决: 由于网页代码繁长,用到很多的小图片与大量的javascript。网页的更新维护将是一件很头痛的事。 下面是一些解决的方法: 对于很多重复使用的一项代码,我们可以用document.write来写成javascript,像桌面图标等,下面是一个例子: function link(act,txt) "+txt+" ")}
如果网页中有十处用到这个代码,我们就要写进十个上面粗体代码长度,但通用javascript,我们就可以只写十个这样的代码: 把所用的到的funtion函数全部放在js文件中,这样不会使风页文件太大,而出现打不出的现象,同时也更好的管理。 不足 Windows桌面风格的网页只能是个网页,不能像windows系统一样的功能强大,再加上现在浏览器的差异性,在不同的浏览器下看到的效果也是大相径庭。 收获和经验 这个网页网页的实现过程,也是我认识了解css、javascript、html过程,是我水平进步的过程。从中也体验到编改写代码的乐趣,有时候为了一个代码要想很久,不能解决就到论坛求助,问题很快就解决了。如果大家有兴趣,可以到我的网页上下载源文件。 要做出一个桌面风格的网页,对于网页初学者来,是有一定困难的。也许你对上面所提到的代码很陌生,那也没关系,只要你对网页学习有兴趣,认真学习网页制作的基础知识,相信不久你的手中会诞生出更有创意的网页。 |
