1、我的实验教学管理系统毕业设计822020年4月19日文档仅供参考湖南工学院专科毕业论文( )题 目基于ASP.NET的教学管理系统的设计与实现学 院湖南工学院专 业计算机科学与技术班 级计应0702学 号学生姓名许静指导教师刘君完成日期 6月诚 信 承 诺我谨在此承诺:本人所写的毕业论文基于ASP.NET的教学管理系统的设计与实现均系本人独立完成,没有抄袭行为,凡涉及其它作者的观点和材料,均作了注释,若有不实,后果由本人承担。 承诺人(签名):许静 6月14日摘 要随着信息技术在管理上越来越广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的系统,任何一个单位要生存要
2、发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。本文介绍了在ASP.NET环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。经过分析某一学校教学管理的不足,创立了一套行之有效的计算机管理学生的方案。文章介绍了教学管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统的功能分为:系统管理模块、班级管理模块、学生资料管理模块、作业管理模块;系统实现部分说明了几个主要模块的算法。本系统界面友好,操作简单,比较实用。关键字:管理信息系统;教学管理;ASP.NET应
3、用ABSTRACTWith more and more widespread and profound application of information technology in management, the implement of management information system has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterpris
4、e activities should be organized efficiently and organically, which means tightening up the enterprise management and strengthening effective management of any resource internal the enterprise, and also establishing a management information system fitting in with its own characteristics.This article
5、 introduces the detailed process of exploring a management information system under the environment of visual, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation. That is to establish a set of effective scheme for student management by computer,
6、 through analyzing disadvantages of student management by human resources. This article emphasizes on three sections. The system analysis section of student management information includes feasible analysis, management function. The system design section mainly focuses on system function design and
7、data base design and data number design. And the system realization section has provided several major functions, together with the main windows and programs. The function of the System: System Management Module and class Management Module and Student files Management Module and Exercise Management
8、Module. This economical and pragmatic system has explicit interface, with simple operation.Keywords :MIS;student management;ASP.NET application目 录1引言12技术简介22.1 HTML语言22.2 IIS22.3 Session对象42.4 ASP.NET的控件和窗体52.4.1 Activex控件62.4.2 Toolbar工具条控件72.4.3 协调菜单和工具栏的外观82.4.4 窗体设置82.5 CSS样式表92.5.1 层叠样式表的特点92.5
9、.2 添加层叠样式表的方法102.5.3 层叠样式表的格式112.5.4 层叠样式表的分类122.5.5 层叠样式表的伪类123 系统概述133.1 系统及需求分析133.1.1 系统需求133.1.2 可行性分析133.2 系统的功能简介153.2.1 系统管理模块153.2.2 班级管理模块153.2.3 学生资料管理模块153.2.4 作业管理模块153.3 系统开发的目标154 系统流程分析164.1 业务流程分析164.2 数据流程分析174.2.1 数据流程图174.3 数据存储分析实体联系图175 系统设计195.1 软件模块结构设计195.1.1 系统方案确定195.1.2 软
10、件结构设计195.2 数据库设计196 系统功能的实现236.1 系统登录236.2 学生注册256.3 学生用户286.4 教师用户306.5 班级管理326.6 学生资料管理336.7 作业管理347 总结37致谢38参考文献391引言随着计算机网络技术的高速发展,传统的桌面系统、C/S架构系统已经不能满足社会的需要。当今社会是一个网络社会,电子商务系统、企业信息系统已经走进了网络应用系统阶段。如何快速开发出适应社会各个行业发展的网络应用系统是摆在人们前面的一个难题。选择什么样的开发平台、开发工具、开发语言、开发技术直接影响行业的信息化建设。.NET的问世给开发人员带来了一种全新的开发框架
11、,它已经成为一种令人激动的、具有革命性和发展性的新技术。.NET为行业的信息化提出了彻底解决方案,不论Web开发者、组件开发者、数据开发者、VB GUI 开发者,还是任何基于Windows平台的开发者,.NET都以一种全新的开发模式使开发人员更好、更快速的完成工作。本课题重点以.NET和为开发平台,综合利用ASP.NET的WEB开发技术和XML跨平台技术,经过开发一个通用网站,真正体验.NET新一代软件开发全新模式,实现网站快速开发和部署。2技术简介2.1 HTML语言超文本语言HTML(Hyper Text Markup Language)是当前创立Web 页面最流行的语言。HTML语言的流
12、行是因为一个HTML文件不论在任何操作系统的浏览器上面得到的结果应该是相同的。HTML语言是一种处理文字的语言,它包含的指令(标记)能够插入到未定个是的文件里,用来控制浏览器显示的网页或者打印出来的外观。HTML语言不区分大小写,它有以下特点:它有特定的逻辑结构,分成不同的逻辑但元,是一种结构化文本文档。它能够提供图像、动画以及其它多媒体等信息的链接。创立过程非常简单。HTML语言版本开发采取向后兼容的方式,使它容易维护。另外,HTML作为WEB上通用的描述语言,为各种计算机平台提供了一个公开的标准接口,于平台无关 。2.2 IISIIS是Internet Information Server
13、的缩写,它是微软公司主推的服务器,最新的版本是Windows 里面包含的IIS 6,IIS与WindowsNT Server完全集成在一起,因而用户能够利用Windows NT Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。IIS支持HTTP(Hypertext Transfer Protocol,超文本传输协议),FTP(File Transfer Protocol,文件传输协议)以及SMTP协议,经过使用CGI和ISAPI,IIS能够得到高度的扩展IIS支持与语言无关的脚本编写和组件,经过
14、IIS,开发人员就能够开发新一代动态的,富有魅力的Web站点。IIS不需要开发人员学习新的脚本语言或者编译应用程序,IIS完全支持Vbscript,Javascript开发软件以及Java,它也支持CGI和WinCGI,以及ISAPI扩展和过滤器 。IIS支持服务器应用的Microsoft BackOffice系列,Microsoft BackOffice系列包括以下内容:(1) Microsoft Exchange Server 客户/服务器通讯和群组软件;(2) Microsoft Proxy Server 代理服务器;(3) 用于连接IBM企业网络的Microsoft SNA Serve
15、r;(4) 用于集中管理分布式系统的Microsoft Systems Management Server;(5) Microsoft Commercial Internet System(MCIS)。IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服务器。IIS相应性极高,同时系统资源的消耗也是最少,IIS的安装,管理和配置都相当简单,这是因为IIS与Windows NT Server网络操作系统紧密的集成在一起,另外,IIS还使用与Windows NT Server相同的SAM(Security A
16、ccounts Manager,安全性账号管理器),对于管理员来说,IIS使用诸如Performance Monitor和SNMP(Simple Network Management Protocol,简单网络管理协议)之类的NT已有管理工具。IIS支持ISAPI,使用ISAPI能够扩展服务器功能,而使用ISAPI过滤器能够预先处理和事后处理储存在IIS上的数据。用于32位Windows应用程序的Internet扩展能够把FTP,SMTP和HTTP协议置于容易使用的任务集中的界面中,这些界面将Internet应用程序的使用大大简化,IIS也支持MIME(Multipurpose Interne
17、t Mail Extensions,多用于Internet邮件扩展),它能够为Internet应用程序的访问提供一个简单的注册项。IIS的一个重要特性是支持ASP。IIS 3.0版本以后引入了ASP,能够很容易的张贴动态内容和开发基于Web的应用程序。对于诸如Vbscript,Javascript开发软件,或者由Visual Basic,Java,Visual C+开发系统,以及现有的CGI和WinCGI脚本开发的应用程序,IIS都提供强大的本地支持。ASP.NET是M的一部分,作为战略产品,不但仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web
18、 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。能够经过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于 .NET 的环境,能够用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 Javascript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都能够使用整个 .NET Framework。开发人员
19、能够方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 能够无缝地与 WYSIWYG HTML 编辑器和其它编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不但使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员能够用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.NET设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。ASP.NET提供了稳定的性
20、能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.NET的主题就是系统帮用户做了大部分不重要的琐碎的工作。新的ASP.NET引入受管代码(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。(1) 高效率对于一个程序,速度是一件非常令人渴望的东西。一旦代码开始工作,接下来你就得尽可能地让它运作得快些。在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。而现在,ASP.NET会妥善地解
21、决这一问题。(2) 易控制在ASP.NET里,你将会拥有一个“Data-Bounds” (数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。(3) 语言支持ASP.NET支持多种语言,支持编译类语言,支持比如VB、VC+、C#等,它比这些编译类语言运行速度快,更适合编写大型应用(4) 更好的升级能力快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.NET能够适应上面的要求。对于今天的Web程序员来说,最大的挑战就是不断变化的浏览器兼容性以
22、及它们不断升级的复杂性。在保证页面能在所有浏览器下工作的同时,又得尽量使用每个浏览器的最新属性来建立更具交互性的页面,这简直不可想象。更加可怕的是,需要对不同的用户设备建立不同的网页。最简单的解决办法就是动态地对不同的用户生成不同的输出,或者就是对不同的用户写多个页面。大多数开发者都会选择第一种方法。可是,这就意味着用户的每次点击都会让服务器判断应该向用户显示什么。而经过ASP.NET,我们能够看到一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,有助于管理和处理不同的用户类型。简单地说,ASP.NET把这些过程自动化了。2.3 Session对象Session其实指的
23、就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用时,Session类型的变量能够供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,她也拥有自己的Session变量,但两个用户之间无法经过Session变量共享信息,而Application类型的变更则能够实现站点多个用户之间在所有页面中共享信息。(1) SessionID属性该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某个网站的一个模块,当一
24、个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块。我经过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员登录时,给这个会员一个Session记录登录状态如:Session(Status)=Logged,同时把这个会员的Session.SessionID写入数据库。当她要浏览此模块时,先判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者访问此模块时就不能经过检查。
25、这就实现了一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别作用,它防止了一个会员名给多个人浏览的问题,为公司保障了利益。(2) TimeOut属性该属性用来定义用户Session对象的时限。如果用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。(3) Abandon方法该方法是Session对象的唯一方法,能够清除Session对象,用来消除用户的Session对象并释放其所占的资源。如: (4) Session_OnStart和Session_OnEnd事件和Application一样,当对象的例程每一次启动时触发Session_OnSt
26、art事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。同理,这个事件也必须定在Global.asa文件中。当调用Session.Abandon方法时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。Session变量与特定的用户相联系,针对某一个用户赋值的Session变量是和其它用户的Session变量完全独立的,不会存在相互影响。2.4 ASP.NET的控件和窗体菜单是程序中提供的一种方便给命令分组的方法,目的是使用户容易访问这些
27、命令。它是程序最重要的特性之一,大多数程序都依赖一个良好的定义使程序易于使用和维护,在一个大型应用程序的界面中如果没有菜单和工具栏,用户将很难进行操作。这是一种流行趋势,因为并不是所有用户都能够清晰地了解各种应用软件,因此对于她们来讲,必须含带菜单和工具栏来使用应用程序。ASP.NET也提供了强大的创立菜单功能来使程序更加标准,我们能够使用ASP.NET的application wizard,也能够使用ASP.NET的菜单编辑器建立或者修改已经存在的菜单。在ASP.NET中,设计和运行时都能够创立和修改菜单。在菜单创立时,还能够定义菜单的访问键,使习惯了dos操作的用户也能方便地进行操作。在菜
28、单中还能够创立分隔符,但要注意的是,如果菜单控件是一个菜单标题,带有子菜单项,被复选或无效,或者有一个快捷键,那么它就不能作为分隔符条,分隔符条是不能响应click事件,而且也不能被选取的。在所有的菜单功能项中,能够使菜单项命令有效或无效,所有的菜单控件都具有enable属性,当这个属性值为false时,菜单命令无效,它不响应任何动作。此时,快捷键的访问也无效,一个无效的菜单项控件会变暗。所有未变暗的菜单项控件都是有效的,能够响应其所定义的任何动作。工具栏已经成为许多基本windows应用程序的标准功能,使用它能够进一步增强应用程序的菜单界面。工具栏含有工具栏按钮,提供了对应用程序最常见的命令
29、的快速访问。如果使用的是ASP.NET的专业版或企业版,则用户能够直接使用其中的Activex控件toolbar来创立工具栏。2.4.1 Activex控件ASP.NET提供了大量的控件,在应用程序中使用各种控件是ASP.NET的特色。控件用来获取用户的输入信息和显示输出信息。应用程序中可用的控件可包括文本框、命令应用程序就仿佛是代码的一部分。每个控件都有一组属性、方法和事件。其次,在ASP.NET中还提供了Activex控件,以前被称作ole控件,是一个标准的用户接口元素,能够快速地把窗体和对话框组装起来。在应用程序中使用各种控件经常被看作是ASP.NET的特色。设计一个Activex控件就
30、像设计一个ASP.NET窗体那样容易,用户能够使用所熟悉的ASP.NET图形命令来绘制控件,或者使用已有的控件来创立一个控件组。Activex控件能够在运行中调试,因此能够直接从高度窗体的跳跃到Activex控件工程的代码中。另外,能够使用ASP.NET的data控件或ado控件在ASP.NET的Activex控件上增加数据绑定,这样使用者就很容易地把控件中的各个字段绑定到数据库中适当的字段上。Activex控件文件的扩展名为.ocx,将Activex控件和其它可加入的对象加到工具箱中,即可在工程中使用它们。在工程的工具箱中加控件:(1) “工程” 菜单中,单击“部件”,显示“部件”对话框。(
31、2) 在该对话框中将列出所有已经注册的可加入的对象、设计者和Activex控件。(3) 要在工具箱中加入Activex控件,选定控件名称左边的复选框。(4) 单击“确定”按钮,关闭“部件”对话框。所有选定的Activex控件将出现在工具箱中。要将Activex控件加入“部件”对话框,单击“浏览”按钮,并找到扩展名.ocx的文件。在将Activex控件加入可用控件列表中时,ASP.NET自动在“部件”对话框中选定它的复选框。2.4.2 Toolbar工具条控件Toolbar工具条控件,包含用来创立工具栏的button对象的集合,是实现工具条的主体。其中的按钮能够显示图像的标题,并按功能分组或加入
32、分隔符,还能够对其设置鼠标停留在其上显示的提示字符。Toolbar也是一个控件容器且具有style属性,并能够为其增加下拉按钮和平滑按钮等。一般情况下,工具栏中的按钮与应用菜单中的菜单项相对应,能够用它们来访问应用程序最常见的功能和命令。其中,Toolbar控件也能够包含其它控件,如:combo box控件或text box控件。要创立工具栏,必须先将button对象加入button集合,每个button对象能够拥有可选的文本,或者拥有相关联的imagelist控件提供的图像。能够用caption属性为每一个button对象设置文本,用image属性设置图像。在设计时,能够用add和remov
33、e的方法将按钮加入或删除button集合。在设计时若添加其它控件,只须将需要的控件拖入工具栏中即可。另外,还能够创立placeholder样式的button对象,并在resize事件中将需要的控件盖在该按钮上。在运行时,双击工具栏将弹出“自定义工具栏”对话框,以便用户隐藏、显示或重新安排工具栏的按钮。能够用allow customize属性选用或禁止用该对话框。还能够用customize方法弹出“自定义工具栏”对话框。如果需要保存或恢复工具允许最终用户这样做,可使用savetoolbar和restoretoolbar方法。使用toolbar控件,主要是为了体现以下几个方面:(1) 用一致的工具
34、栏为不同应用程序提供统一的界面。(2) 为常见功能例如文件操作等提供简便的访问方法。(3) 为应用程序提供图形化的直观界面。选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“microsoft windows common controls 6.0”后工具栏中增加此控件,其属性及对象如下:(1) Lign属性定义工具条在窗体中的位置。(2) Tooltiptext属性是字符串类型,定义控件的提示字符。(3) Style属性定义按钮外观。(4) Imagelist属性设置一个imagelist控件名,该控件定义工具按钮显示的图像。(5) Hotmangelis
35、t属性设置一个imagelist控件名,该控件定义按钮获得热点时显示图像。(6 ) Disabledimagelist属性定义工具条按钮无效时显示的图像。(7) 创立工具条,包括imagelist和toolbar控件。imagelist用于为其它控件提供图像库,将imagelist控件加入到工具箱的操作于前述toolbar控件相同。2.4.3 协调菜单和工具栏的外观当由其它应用程序提供的对象在窗体中被激活时,有许多的方法让对象的菜单与工具栏出现在容器窗体内。然而,需要规定它们将如何显示。这一过程叫做用户界面协调。经过设置窗体的Negotiatemenus属性能够决定一个链接或嵌入的对象的菜单是
36、否出现在容器窗体中,如果子窗体的Negotiatemenus属性默认为true,而且容器有一个定义的菜单栏,或者Negotiatemenus属性被设置为false,那么,当这个对象激活时对象的菜单将不出现。注意,Negotiatemenus属性不适用于MDI窗体。MDI窗体的Negotiatetoolbars属性决定了链接或嵌入对象的工具栏是不固定的调色板还是被放置在父窗体上。如果设为true,则对象的工具栏出现在MDI窗体上;如果设置为false,则对象的工具栏就为不固定的调色板。如果MDI窗体上包含工具栏,它一般被包含在父窗体的Picturebox控件中。图片框的Negotiate属性决定
37、了被激活时容器的工具栏是继续显示还是被对象的工具栏所代替。如果设为true,则除了容器的工具栏外还显示对象的工具栏;如果为false,则对象的工具栏代替容器的工具栏。执行菜单与工具栏的协调:(1)MDI窗体中添加工具栏(2) 在子窗体上旋转一个可插入的对象(3) 设置Negotiatemenus、Negotiatetoolars、Negotiate属性(4) 运行此应用程序,然后双击该对象2.4.4 窗体设置 窗体是一种对象,由属性定义其外观,由方法定义其行为,由事件定义其与用户的交互。经过窗体属性并编写响应事件的ASP.NET代码,就能定义出满足应用程序需要的对象。控件是包括在窗体对象内的对
38、象。每种类型的控件都有自己的一套属性、方法和事件,以适用于特定的目的。一些控件最适合在应用程序中输入或显示文本;另一些控件能够访问其它的应用程序和处理数据,就像这些远程应用程序是用户自己的代码一样。窗体对象是ASP.NET应用程序的基本构造模块,是运行应用程序时与用户交互操作的实际窗口中,窗体有自己的属性、事件、方法、控件窗体的外观和行为。设计窗体的第一步是设置它的属性。这能够在设计时的“属性”窗口中完成,或者运行由代码来实现。注意:在设计时,即在ASP.NET环境中创立应用程序是地,能够操作所需要的控件,设置它们的属性,并对它们的事件进行编程。运行时,则实际是运行的应用程序,让用户与应用程序
39、进行交互。2.5 CSS样式表CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。使用CSS能够简化网页的格式代码,加快下载显示的速度,也减少了需要上传的代码数量,大大减少了重复劳动的工作量。CSS(Cascading Stylesheets,层叠样式表)是一种制作网页的新技术,现在已经为大多数的浏览器所支持,成为网页设计必不可少的工具之一。W3C(The World Wide Web Consortium)把动态HTML(Dynamic HTML)分为三个部分来实现:脚本语言(包括Javasc
40、ript、Vbscript等)、支持动态效果的浏览器(包括Internet Explorer、Netscape Navigator等)和CSS样式表。2.5.1 层叠样式表的特点且不说过去的网页缺少动感,就是在网页内容的排版布局上也有很多困难,如果不是专业人员或特别有耐心的人,很难让网页按自己的构思和创意来显示信息。即便是掌握了HTML语言精髓的人也要经过多次地测试,才能驾驭好这些信息的排版,过程十分漫长和痛苦。为了Internet的发展,让更多人早日踏足这个多姿多彩的世界,新的HTML辅助工具呼之欲出。样式表就是在这种需求下诞生的,它首先要做的是为网页上的元素精确地定位,能够让网页设计者像导
41、演一样,轻易地控制由文字、图片组成的演员们,在网页这个舞台上按剧本要求好好地表演。其次,它把网页上的内容结构和格式控制相分离。浏览者想要看的是网页上的内容结构,而为了让浏览者更好地看到这些信息,就要经过格式控制来帮忙了。以前两者在网页上的分布是交错结合的,查看修改很不方便,而现在把两者分开就会大大方便网页的设计者。内容结构和格式控制相分离,使得网页能够光由内容构成,而将所有网页的格式控制指向某个CSS样式表文件。这样一来的好出表现在两个方面:(1) 简化了网页的格式代码,外部的样式表还会被浏览器保存在缓存里,加快了下载显示的速度,也减少了需要上传的代码数量(因为重复设置的格式将被只保存一次)。
42、(2) 只要修改保存着网站格式的CSS样式表文件就能够改变整个站点的风格特色,在修改页面数量庞大的站点时,显得格外有用。避免了一个一个网页的修改,大大减少了重复劳动的工作量。2.5.2 添加层叠样式表的方法我们为网页添加样式表的方法有四种。(1) 最简单的方法是直接添加在HTML的标识符(tag)里:网页内容举个例子:CSS实例代码说明:用蓝色显示字体大小为10pt的“CSS实例”。尽管使用简单、显示直观,可是这种方法不怎么常见,因为这样添加无法完全发挥样式表的优势“内容结构和格式控制分别保存”。 (2) 添加在HTML的头信息标识符里:以下是引用片段: type=”text/css”表示样式
43、表采用MIME类型,帮助不支持CSS的浏览器过滤掉CSS代码,避免在浏览器面前直接以源代码的方式显示我们设置的样式表。但为了保证上述情况一定不要发生,还是有必要在样式表里加上注释标识符“”。(3) 链接样式表同样是添加在HTML的头信息标识符里:以下是引用片段: *.css是单独保存的样式表文件,其中不能包含标识符,而且只能以css为后缀。Media是可选的属性,表示使用样式表的网页将用什么媒体输出。取值范围:Screen(默认):输出到电脑屏幕Print:输出到打印机TV:输出到电视机Projection:输出到投影仪Aural:输出到扬声器Braille:输出到凸字触觉感知设备Tty:输出
44、到电传打字机All:输出到以上所有设备如果要输出到多种媒体,能够用逗号分隔取值表。Rel属性表示样式表将以何种方式与HTML文档结合。取值范围:Stylesheet:指定一个外部的样式表Alternate stylesheet:指定使用一个交互样式表(4) 联合使用样式表同样是添加在HTML的头信息标识符里:以下是引用片段: 以import开头的联合样式表输入方法和链接样式表的方法很相似,但联合样式表输入方式更有优势。因为联合法能够在链接外部样式表的同时,针对该网页的具体情况,做出别的网页不需要的样式规则。需要注意的是:联合法输入样式表必须以import开头。如果同时输入多个样式表有冲突的时候
45、,将按照第一个输入的样式表对网页排版。如果输入的样式表和网页里的样式规则冲突时,使用外部的样式表。 2.5.3 层叠样式表的格式一般来说,样式表的声明分为选择符(selector)和块(block),块里包含属性(properties)和属性的取值(value),基本格式如下:选择符 其它格式1:选择符1,选择符2,选择符3 有时候多个选择符将使用相同的设置,为了简化代码,我们能够一次性为它们设置样式,并在多个选择符之间加上“,”来分隔它们。当有多个属性的时候,必须在两个属性之间用“;”来分隔。其它格式2:选择符1 选择符2 和格式1非常相似,只是在选择符之间少加了“,”,但作用却大不相同。表
46、示如果选择符2包括的内容同时包括在选择符1里的时候,所设置的样式规则才起作用。2.5.4 层叠样式表的分类为了使网页的格式不过分的单调,必须得让相同的选择符也能分类,并能按照不同的类别来进行不同的样式设计。基本格式如下:选择符.类别名 类别名将能够在HTML的标识符里引用:网页内容2.5.5 层叠样式表的伪类除了上述的分类方式外,为了使分类的使用更灵活多样,又产生了伪类的概念。类和伪类有什么样的区别呢?一般地说,选择符能够和多个类采用捆绑的形式来设定,这样虽然能够为同一个选择符创立多种不同的样式,但捆绑的形式同时也限制了设定的类为其它的选择符所使用。伪类的产生就是为了解决这个问题,每个预声明的伪类都能够被