类Windows界面的网站后台开发(一)
2006-10-28 14:00
260 查看
这次的系列文章,使用.net架构开发,所以网页都回放在.aspx文件中,除了Asp.net Ajax部分以外,其他的部分都可以放在html文件中(Asp.net Ajax理论上可以使用纯HTML+JavaScript代替,以后会简要介绍一下)。
为了方便起见,我使用Visual Studio 2005一步一步来创建这个后台,当然,完全可以使用NotePad或其他文本编辑器。首先,在Visualr Studio中建立一个新的网站,为了后续的开发,类型记得选择Asp.net AJAX-Enabled WebSite(对于本文内容,使用Asp.net WebSite或纯HTML文件均可)。
Asp.net AJAX Beta1可以从这里下载,更多特性和教程可以访问Asp.net AJAX学习团队
新建完网站后,会自动打开Default.aspx文件,其中有IDE为我们自动添加的代码,这些暂时代码都不用管,这次我们只在原有架构上添加一些用于画出窗口的代码。
首先我们分析一下一个窗口需要的基本元素,一个窗口标题、一个窗口主体、一个状态栏,个别窗口还有一些按钮栏等等,这次我们只简单的做出窗口最基本的架构——标题、主体、状态栏。另外,为了以后给窗口添加特性,我们还需要一些其他东西,比如要通过拖拽改变窗口大小就需要给窗口添加边框。综合来看,我们的窗体应该大体是这个样子的
剩下就是要在HTML中实现这个框架了,很简单,我们可以使用以下代码
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0"
>
<tr>
<td colspan="3">
<div>
X</div>
<div >
[ ]</div>
<div >
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3">
</td>
<td>
Body</td>
<td rowspan="3" >
</td>
</tr>
<tr>
<td >
StatusBar</td>
</tr>
<tr>
<td colspan="3" >
</td>
</tr>
</table>
</div>
首先,使用一个<div>作为窗口的容器,这样以后给窗体添加拖动特性时会非常方便。然后使用一个<table>元素来设置窗口的框架,其中需要4个<tr>元素来给定义表格的4个行,分别是—标题、主体、状态栏、下边框。在标题行中的<td>元素中使用colspan属性来是该单元格占据下面行行3个单元格的宽度,并在其中添加4个<div>元素,分别为——关闭按钮、最大化按钮、最小化按钮和标题文字。下面的行也是类似,必要特殊的是第二行(也就是第二个<tr>,显示窗口主体的行)中的两个<td>元素,使用了rowspan属性,使这两个单元格向表格下延伸,直到表格的底部,作为左右边框。
现在,在浏览器或者设计视图中预览,是完全看不出有一个窗口该有的样子的,接下来,该给这个窗口添加样式了。作为DHTML的一个重要组成部分,CSS已经在网页开发中有着不可替代的作用,基于可复用性和可维护性,我们要优先使用CSS控制样式,而不使用HTML 4.0和以前版本中的内联样式。比如<div height="500px"/>现在应该改为使用内联或外联CSS,比如<div style="height:500px"/>(内联)或向接下来就要介绍的外联。
给网站添加一个CSS文件是非常简单的,可以直接在Visual Studio中选择-项目-添加项;或者直接使用文本编辑器创建一个文本文档,并把扩展名改为.css。创建一个名为Windows.css的文件,并添加以下内容
.dragable {...}{
position: absolute;
}
.windows {...}{
width: 480px;
height: 320px;
}
.windowsTitle {...}{
height: 20px;
background-color: activecaption;
}
.titleButton {...}{
float: right;
position: relative;
margin: 0px 1px 0px 1px;
}
.windowsBody {...}{
height: 280px;
width: 318px;
background-color: window;
}
.windowsBorderSide {...}{
width: 2px;
background-color: activecaption;
}
.windowsBorderBottom {...}{
height: 2px;
background-color: activecaption;
}
.windowsStatusBar {...}{
height: 20px;
background-color: activeborder;
}
CSS文件是非常好理解的,这个文件中也没有任何复杂的元素,这使用了最简单的类关联(不同于面向对象中的类)。CSS中,样式成对出现中间添加冒号,形如xxx:yyy,代表给xxx属性赋予yyy值,举例来说windows{...}中,width:480px代表给宽属性赋予480px(像素),换句话说就是设置宽为480px,windows{}就代表给所有属于windows类的元素应用{...}之间的样式。特殊的,使用一个dragable类,并添加postion:absulote,代表属于dargable类的元素使用“绝对定位”这很重要,因为绝对定位是可拖动的基础。
要给一个网页添加外部CSS文件很简单,只要在<head></head>之间添加<link href=" URL rel="stylesheet" type="text/css" />,其中href属性值为.css文件的路径,ref属性告诉浏览器这个连接是该页的CSS,type属性指明了文件的类型。接着,就要把网页内的元素和CSS中的样式类关联上了,只要给元素添加class属性,并让属性值等于CSS文件中要关联的类名就可以了,所以HTML代码可能会变成这个样子
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0" class="windows">
<tr>
<td colspan="3" class="windowsTitle">
<div class="titleButton">
X</div>
<div class="titleButton">
[ ]</div>
<div class="titleButton">
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3" class="windowsBorderSide">
</td>
<td class="windowsBody" style="height: 280px">
Body</td>
<td rowspan="3" class="windowsBorderSide">
</td>
</tr>
<tr>
<td class="windowsStatusBar">
StatusBar</td>
</tr>
<tr>
<td colspan="3" class="windowsBorderBottom">
</td>
</tr>
</table>
</div>
现在在浏览器中查看就会是这个样子了
下面给出一个完整的HTML文件代码(不是ASPX文件代码,不想使用,net架构的人可以参考下面的代码)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="Windows.css" rel="stylesheet" type="text/css" />
<title>Untitled Page</title>
</head>
<body>
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0" class="windows">
<tr>
<td colspan="3" class="windowsTitle">
<div class="titleButton">
X</div>
<div class="titleButton">
[ ]</div>
<div class="titleButton">
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3" class="windowsBorderSide">
</td>
<td class="windowsBody" style="height: 280px">
Body</td>
<td rowspan="3" class="windowsBorderSide">
</td>
</tr>
<tr>
<td class="windowsStatusBar">
StatusBar</td>
</tr>
<tr>
<td colspan="3" class="windowsBorderBottom">
</td>
</tr>
</table>
</div>
</body>
</html>
下次将给这个窗口添加拖动、改变大小和关闭特性。
为了方便起见,我使用Visual Studio 2005一步一步来创建这个后台,当然,完全可以使用NotePad或其他文本编辑器。首先,在Visualr Studio中建立一个新的网站,为了后续的开发,类型记得选择Asp.net AJAX-Enabled WebSite(对于本文内容,使用Asp.net WebSite或纯HTML文件均可)。
Asp.net AJAX Beta1可以从这里下载,更多特性和教程可以访问Asp.net AJAX学习团队
新建完网站后,会自动打开Default.aspx文件,其中有IDE为我们自动添加的代码,这些暂时代码都不用管,这次我们只在原有架构上添加一些用于画出窗口的代码。
首先我们分析一下一个窗口需要的基本元素,一个窗口标题、一个窗口主体、一个状态栏,个别窗口还有一些按钮栏等等,这次我们只简单的做出窗口最基本的架构——标题、主体、状态栏。另外,为了以后给窗口添加特性,我们还需要一些其他东西,比如要通过拖拽改变窗口大小就需要给窗口添加边框。综合来看,我们的窗体应该大体是这个样子的
剩下就是要在HTML中实现这个框架了,很简单,我们可以使用以下代码
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0"
>
<tr>
<td colspan="3">
<div>
X</div>
<div >
[ ]</div>
<div >
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3">
</td>
<td>
Body</td>
<td rowspan="3" >
</td>
</tr>
<tr>
<td >
StatusBar</td>
</tr>
<tr>
<td colspan="3" >
</td>
</tr>
</table>
</div>
首先,使用一个<div>作为窗口的容器,这样以后给窗体添加拖动特性时会非常方便。然后使用一个<table>元素来设置窗口的框架,其中需要4个<tr>元素来给定义表格的4个行,分别是—标题、主体、状态栏、下边框。在标题行中的<td>元素中使用colspan属性来是该单元格占据下面行行3个单元格的宽度,并在其中添加4个<div>元素,分别为——关闭按钮、最大化按钮、最小化按钮和标题文字。下面的行也是类似,必要特殊的是第二行(也就是第二个<tr>,显示窗口主体的行)中的两个<td>元素,使用了rowspan属性,使这两个单元格向表格下延伸,直到表格的底部,作为左右边框。
现在,在浏览器或者设计视图中预览,是完全看不出有一个窗口该有的样子的,接下来,该给这个窗口添加样式了。作为DHTML的一个重要组成部分,CSS已经在网页开发中有着不可替代的作用,基于可复用性和可维护性,我们要优先使用CSS控制样式,而不使用HTML 4.0和以前版本中的内联样式。比如<div height="500px"/>现在应该改为使用内联或外联CSS,比如<div style="height:500px"/>(内联)或向接下来就要介绍的外联。
给网站添加一个CSS文件是非常简单的,可以直接在Visual Studio中选择-项目-添加项;或者直接使用文本编辑器创建一个文本文档,并把扩展名改为.css。创建一个名为Windows.css的文件,并添加以下内容
.dragable {...}{
position: absolute;
}
.windows {...}{
width: 480px;
height: 320px;
}
.windowsTitle {...}{
height: 20px;
background-color: activecaption;
}
.titleButton {...}{
float: right;
position: relative;
margin: 0px 1px 0px 1px;
}
.windowsBody {...}{
height: 280px;
width: 318px;
background-color: window;
}
.windowsBorderSide {...}{
width: 2px;
background-color: activecaption;
}
.windowsBorderBottom {...}{
height: 2px;
background-color: activecaption;
}
.windowsStatusBar {...}{
height: 20px;
background-color: activeborder;
}
CSS文件是非常好理解的,这个文件中也没有任何复杂的元素,这使用了最简单的类关联(不同于面向对象中的类)。CSS中,样式成对出现中间添加冒号,形如xxx:yyy,代表给xxx属性赋予yyy值,举例来说windows{...}中,width:480px代表给宽属性赋予480px(像素),换句话说就是设置宽为480px,windows{}就代表给所有属于windows类的元素应用{...}之间的样式。特殊的,使用一个dragable类,并添加postion:absulote,代表属于dargable类的元素使用“绝对定位”这很重要,因为绝对定位是可拖动的基础。
要给一个网页添加外部CSS文件很简单,只要在<head></head>之间添加<link href=" URL rel="stylesheet" type="text/css" />,其中href属性值为.css文件的路径,ref属性告诉浏览器这个连接是该页的CSS,type属性指明了文件的类型。接着,就要把网页内的元素和CSS中的样式类关联上了,只要给元素添加class属性,并让属性值等于CSS文件中要关联的类名就可以了,所以HTML代码可能会变成这个样子
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0" class="windows">
<tr>
<td colspan="3" class="windowsTitle">
<div class="titleButton">
X</div>
<div class="titleButton">
[ ]</div>
<div class="titleButton">
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3" class="windowsBorderSide">
</td>
<td class="windowsBody" style="height: 280px">
Body</td>
<td rowspan="3" class="windowsBorderSide">
</td>
</tr>
<tr>
<td class="windowsStatusBar">
StatusBar</td>
</tr>
<tr>
<td colspan="3" class="windowsBorderBottom">
</td>
</tr>
</table>
</div>
现在在浏览器中查看就会是这个样子了
下面给出一个完整的HTML文件代码(不是ASPX文件代码,不想使用,net架构的人可以参考下面的代码)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link href="Windows.css" rel="stylesheet" type="text/css" />
<title>Untitled Page</title>
</head>
<body>
<div class="dragable">
<table border="0" cellpadding="0" cellspacing="0" class="windows">
<tr>
<td colspan="3" class="windowsTitle">
<div class="titleButton">
X</div>
<div class="titleButton">
[ ]</div>
<div class="titleButton">
__</div>
<div>
Title</div>
</td>
</tr>
<tr>
<td rowspan="3" class="windowsBorderSide">
</td>
<td class="windowsBody" style="height: 280px">
Body</td>
<td rowspan="3" class="windowsBorderSide">
</td>
</tr>
<tr>
<td class="windowsStatusBar">
StatusBar</td>
</tr>
<tr>
<td colspan="3" class="windowsBorderBottom">
</td>
</tr>
</table>
</div>
</body>
</html>
下次将给这个窗口添加拖动、改变大小和关闭特性。
相关文章推荐
- 打算写个类Windows界面的网站后台开发教程
- 网站后台操作界面的开发
- windows下利用Node.js开发后台服务器(三)
- 总结使人进步,可视化界面GUI应用开发总结:Android、iOS、Web、Swing、Windows开发等
- windows原生开发之界面疑云
- 网站开发之后台struts2乱码解决总结大全
- ASP.NET MVC5网站开发之用户角色的后台管理1(七)
- ASP.NET MVC5网站开发之用户角色的后台管理1(七)
- Discuz!开发之网站后台消息提醒函数cpmsg()介绍
- wxPython出道(windows图形界面开发)
- MVC5 网站开发之七 用户功能 1、角色的后台管理
- Windows 硬件开发人员中心中文网站
- windows下利用Node.js开发后台服务器(二)
- android java开发 第四天 之(后台服务处理完业务数据后,传送给ui Activity并刷新界面)
- Django开发个人博客网站——7、通过admin管理后台
- 视频网站的前、后台开发技术主要是哪些?
- 网站开发(十一)实战后台首页管理和文章管理
- Windows Phone Mango开发实践——后台音频
- 网站后台开发工具框架
- 后台管理-基于 Bootstrap 开发的网站后台管理面板