




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用ASP.NET进行HTML和CSS设计HTML最初是由Tim Berners-Lee引入的,那时它仅仅是研究人员使用Internet格式化和交叉链接其研究文档的一种简单方式。Web仍主要基于文本,因此这些文档的格式化要求是相当基本的。HTML只需要很少的基本布局概念,例如标题、段落、页眉和列表。随着Web向一般公众开放,引入了图形浏览器,格式化Web页面的要求也在不断增加,此时就开发出了HTML的新版本。这些新版本扩展了HTML的最初功能,以适应新的、丰富的图形浏览器环境,允许采用表格布局,有更丰富的字体样式、图像和框架。对HTML的所有这些改进都是有益的,但HTML仍不允许开发人员创建复杂
2、、高度样式化的Web页面。因此1994年,引入了一种新技术-层叠样式表(Cascading Style Sheets,CSS)。CSS是HTML的一种补充技术,为Web页面的开发人员提供了他们需要的功能,可以精细地控制Web页面的样式。随着Web的日益成熟,CSS也变得更常见,因为开发人员认识到,与标准的HTML样式功能相比,CSS有显著的优点。HTML最初主要用作一种布局机制,而CSS从一开始就为Web页面提供了丰富的样式功能。CSS的层叠本质便于把带宽笔划的样式应用于整个应用程序,并可以在需要的地方覆盖该样式。CSS很容易在外部定义Web站点的样式信息,与Web页面的样式和结构清楚地分开。
3、CSS还允许开发人员极大地减小Web页面的文件大小,缩短页面加载时间,减少带宽消耗。本章的重点不是说明CSS是使Web站点样式化的最佳解决方案,而是理解如何在基于ASP.NET的Web应用程序中应用这些技术。首先简要介绍CSS以及它与HTML如何一起工作,然后讨论使用HTML和CSS在Visual Studio中创建Web站点。最后论述如何使用ASP.NET和CSS。18.1 警告本章包含HTML和CSS的许多信息,以及如何在ASP.NET和Visual Studio 2008中使用它们,但应注意几个事项。首先,因为无法用1章的篇幅包含HTML和CSS的所有内容,所以如果需要深入理解这些主题,
4、可以查阅Wrox的Beginning CSS: Cascading Style Sheets for Web Design,2nd Edition,Richard York著,Wiley出版社,2007)。第二,因为CSS只是一个规范,所以每个浏览器供应商都需要解释和实现这个规范。在Web开发中,每个浏览器常常用不同的方式实现(有时不实现)不同的CSS特性。本章的示例都在Internet Explorer 7中进行了测试,读者应确保在多个平台的多个浏览器上全面测试自己的Web站点,使CSS在每个目标浏览器上都能正确显示。最后,在Web页面上使用的DOCTYPE可能影响浏览器在Web页面上应用C
5、SS样式的方式。读者应理解不同的DOCTYPES如何在Web页面上影响浏览器的显示过程。18.2 HTML和CSS概述从Web诞生一直到今天,HTML都是定义Web页面上的内容块的主要机制,也是定义Web页面布局的最简单方式。HTML包含非常多的可用布局标记,包括Table、List和Grouping元素。可以合并这些元素,在Web页面上创建出非常复杂的布局。图18-1是一个简单的Web页面,它使用各种HTML元素定义了一个基本布局。这个布局很有趣,但它只有最基本的样式。为了解决这个问题,许多开发人员都尝试添加基于HTML的格式化标记。例如,如果要改变第一段文本的字体和颜色,就需要修改HTML
6、,如下所示:实际上,在Web设计工具的早期,这就是用户在其Web页面上添加样式而生成的结果,那时,使用Font标记似乎是使Web页面样式化的极佳解决方案。但Web开发人员和设计人员很快意识到,使用Font标记会很快使HTML变得混乱起来,因为Font标记散布在整个HTML中。在前面的例子中,假定不仅要设置控件和样式,还需要使一些字体变成粗体,一些字体采用不同的颜色或字体系列,一些文本使用另一种字体大小,一些字体要加上下划线,一些字体要显示为超级脚本。需要这么多Font标记,它们会增大Web页面,减少其可维护性。使用Font标记(和其他与样式相关的标记),Web页面的结构和内容就不再能清楚地分开
7、,它们会混合在一起,成为一个复杂的文档。(点击查看大图)图 18-118.2.1 CSS的引入在Web开发和设计领域中引入CSS,是Web页面样式化的一种清晰、简洁的解决方案。CSS表示,用于整个Web站点的样式可以在一个地方定义,再在需要该样式的元素上引用它。使用CSS使Web页面的内容和用于显示它的样式再次清楚地分隔开。18.2.2 创建样式表与HTML一样,CSS也是一种解释性语言。Web服务器处理一个Web页面请求时,服务器的响应可以包含样式表,样式表就是CSS指令的简单集合。样式表包含在服务器的响应中有3种方式:使用外部样式表文件、直接内嵌在Web页面中的内部样式表、在线样式表。1.
8、 外部样式表外部样式表是在Web页面外部存储的CSS样式集合,一般是扩展名为.css的文件。Visual Studio很容易在如图18-2所示的Add New Item对话框中包含一个Style Sheet文件模板,从而把外部样式表文件添加到应用程序中。(点击查看大图)图18-2Visual Studio创建了样式表后,就很容易插入新样式了。Visual Studio甚至在处理文档中的样式表时,提供了CSS IntelliSense,如图18-3所示。图18-3外部样式表使用HTML标记链接到Web页面上。一个Web页面可以包含多个样式表引用,如程序清单18-1所示。程序清单18-1 在Web
9、页面中使用外部样式表CSS Inheritance SampleLorum Ipsum可以在一个Web页面中添加多个link标记,把几个不同的样式表链接到页面上。也可以在样式表中直接使用CSS import语句,链接多个样式表。import url(layout.css);使用import语句的优点是,可以一次改变链接的样式表,而无需修改站点中的每个Web页面。也可以把每个页面链接到一个主外部样式表时,主外部样式表再使用import语句链接其他外部样式表。注意旧浏览器不理解这个语法,而是简单地忽略该命令。在Web站点上使用外部样式表有几个优点。第一,外部样式表在站点中保存在Web页面的外部,所
10、以更容易给所有的Web页面添加link标记,而无需直接管理每个页面中的样式。这也更便于维护,因为如果要在将来更新Web站点的样式,只需在保存该样式的一个位置修改样式即可。最后,使用外部样式表还有助于提高Web站点的性能,允许浏览器利用其高速缓存功能。与浏览器下载的其他文件一样,样式表下载后,会高速缓存到客户机上。2. 内部样式表内部样式表是在单个Web页面内部存储的CSS样式集合。该样式位于HTML标记中,这个标记一般位于Web页面的部分。内部样式表的示例如程序清单18-2所示。程序清单18-2 在Web页面中使用内部样式表CSS Inheritance Sampledivfont-famil
11、y:Arial;Lorum Ipsum 在创建内部样式表的样式块时,一定要在样式标记中包含type属性,这样浏览器才知道如何正确解释该样式快。另外,与外部样式表一样,Visual Studio也提供了IntelliSense支持,以便于添加属性。3. 内嵌样式内嵌样式是使用大多数HTML元素都有的Style属性直接应用于单个HTML元素的CSS样式。内嵌样式的示例如程序清单18-3所示。程序清单18-3 在Web页面中使用内嵌样式CSS Inheritance SampleLorum Ipsum18.2.3 CSS规则(1)无论CSS样式存储在什么地方,它们一旦从服务器发送到客户机上,浏览器就
12、负责解析样式,把它们应用于Web页面中相应的HTML元素。如果样式存储在外部或内部样式表中,样式就定义为CSS规则。浏览器使用该规则确定应用什么样式,应用于什么HTML元素。提示:内嵌样式不需要定义为规则,因为它们会自动应用于包含它们的元素上。因此,浏览器不需要选择要应用该样式的元素。规则由两部分组成:选择器和属性。图18-4是CSS规则的一个例子。图 18-41. 选择器选择器是规则中明确指定Web浏览器如何选择要应用样式的元素的部分。CSS包含许多类型的选择器,每种选择器都定义了不同的元素选择技术。通用选择器通用选择器指定样式应用于Web页面的所有元素。下面的示例演示了一个通用选择器,它把
13、支持字体系列属性的元素的字体改为Arial。*font-family:Arial;类型选择器类型选择器可以创建样式,应用于指定类型的HTML元素。接着把该样式应用于Web页面上该类型的所有元素。下面的示例演示了一个为HTM段落标记配置的类型选择器,它会把Web页面上所有标记的字体系列改为Arial。pfont-family:Arial;派生选择器派生选择器可以创建样式,其目标HTML元素是指定类型的元素的派生元素。下面示例中的样式应用于派生自的所有标记。div span font-family:Arial;子选择器子选择器类似于派生选择器,但派生选择器会搜索一个元素的整个派生层次结构,而子选择
14、器把其元素搜索范围限制在父元素的直接子元素上。下面的代码修改了派生选择器示例,使之变成子选择器示例。div span font-family:Arial;属性选择器属性选择器可以定义样式,根据元素是否存在某个属性(而不是元素名称),把样式应用于元素。例如,下面的示例创建了一个样式,它应用于Web页面上所有设置了href属性的元素。*hreffont-family:Arial;注意Internet Explorer 6及其早期版本不支持属性选择器,Visual Studio 2008设计界面也不支持它。邻近选择器邻近选择器可以选择紧邻另一个元素类型的HTML元素。例如,在无序列表中,需要突出显示
15、第一个列表项,再对其后的所有项使用另一种样式。此时就可以使用邻近选择器,如下面的示例所示:lifont-size:xx-large;li+lifont-size:medium;在这个例子中,为列表项元素创建了一个默认的类型选择器,它会把元素中文本的字号改为非常非常大。又创建了第二个邻近选择器,它将覆盖第一个列表项后面的所有列表项的类型选择器,把字号改回正常大小。类选择器类选择器是一种特殊类型的CSS选择器,可以把样式应用于有指定类名称的元素。类名在HTML中使用几乎每个元素都有的Class属性定义,类选择器与其他选择器的区别是它有前缀-句点(.)。.titlefont-size:larger;
16、font-weight:bold;这个CSS规则会应用于class属性值匹配规则名的所有元素,例如:Lorum Ipsum创建类选择器时,注意类名不能以数字开头。另外,CSS类名只能包含字母和数字,不能包含空格、符号,甚至下划线。最后,在HTML中使用时,应确保类名的大小写是匹配的。CSS本身不区分大小写,但一些HTML DocType要求,class和id属性应区分大小写。ID选择器ID选择器是另一种特殊的CSS选择器,它可以创建样式,其目标元素有特定的ID值。ID选择器与与其他选择器的区别是它有前缀-#。titlefont-size:larger;font-weight:bold;这个CS
17、S规则会应用于id属性匹配规则名的元素,例如:Lorum Ipsum18.2.3 CSS规则(2)2. 伪类CSS还包含一系列伪类选择器,在创建样式规则时提供了额外的选项。伪类可以添加到其他选择器上,创建更复杂的规则。第一个子伪类第一个子伪类可以指定,规则应选择元素N的第一个子元素M。下面是使用第一个子伪类的例子:#title p:first-childfont-size:xx-small;上面定义的规则指定,样式应用于id属性值为title的样式中的第一个段落标记。在下面的HTML中,这表示文本First Child要应用该样式:Lorum First ChildSecond Child I
18、psum注意Visual Studio 2008设计界面不支持第一个子伪类,因此即使样式在浏览器上显示正确,也不能在设计界面上看到正确的预览。链接伪类CSS包含与anchor标记相关的许多伪类。这些特殊的伪类可以为anchor标记的不同状态定义样式。a:linkcolor:Maroon;a:visitedcolor:Silver;在这个例子中,创建了两个规则,第一个把样式应用于页面上未访问的链接,第二个把另一个样式应用于已访问的链接。动态伪类动态伪类是浏览器根据终端用户执行的操作(如把鼠标停放在元素上,激活某个元素或给元素指定焦点),应用样式的特殊CSS类。a:hovercolor:Maroo
19、n;a:activecolor:Silver;a:focuscolor:Olive;该示例演示了给anchor标记使用动态伪类,这些伪类也可以用于其他HTML元素。但注意,对动态伪类的支持在不同的浏览器上是不同的。语言伪类语言伪类可以根据终端用户的语言设置定义特殊的规则。:lang(de)quotes: 2039 203A在这个例子中,lang伪类用于设置德语Web页面的引号。Internet Explorer 7不支持lang伪类。3. 伪元素CSS还包含几个伪元素,它们可以在Web页面上选择不是真正元素的项。可用的伪元素有:first-line、first letter、before和af
20、ter。下面的示例演示了这些伪元素的使用:p:first-linefont-style:italic;p:first-letterfont-size:xx-large;伪元素first-line和first-letter可以把特定的样式应用于内容块的第一行和第一个字母。p:beforecontent: url(images/quote.gif);p:aftercontent: ;伪元素before和after可以在目标元素的前面或后面插入内容,在上面的例子中就是插入一个段落元素。插入的内容可以是URL、字符串、引号字符、计数器或元素的属性值。4. 选择器的组合创建CSS规则时,CSS允许把几个
21、选择器组合到一个规则中。下面的示例演示了合并3个类型选择器的规则:h1, h2, h3color:Maroon;这个规则把h1、h2或h3标记的文本内容的前景色改为栗色。5. 选择器合并CSS还允许合并多个选择器类型。例如,可以创建类选择器,应用于特定的HTML元素,且匹配Class属性值。程序清单18-4 在一个CSS规则中合并多个选择器类型.titlefont-family:Courier New;div.titlefont-family:Arial;Lorum IpsumLorum Ipsum 18.2.3 CSS规则(3)6. 合并的样式在定义几个应用于给定HTML元素的样式规则时,C
22、SS还会合并样式。例如,在下面的示例代码中,定义了一个类选择器和一个类型选择器。这两个选择器都应用于HTML中的段落元素。当浏览器解释这些样式时,会把它们合并到元素上。程序清单18-5 把多个规则中的样式合并到一个元素上.titlefont-family:Courier New;pcolor:Green;Lorum Ipsum如图18-5所示,单个段落元素的字体和颜色都应用了样式,但实际上有两个样式规则定义了这个样式。(点击查看大图)图 18-5还可以使用不同的选择器类型定义多个规则,来合并多个样式。如果单个HTML元素匹配所有的规则,就把每个规则中的样式合并在一起。在程序清单18-6的例子中
23、,单个元素匹配多个规则。程序清单18-6 多个选择器匹配单个元素CSS Inheritance Samplepfont-family:Arial;color:Blue;p#bookfont-size:xx-large;p.titlefont-family: Courier New;Lorum Ipsum在这个例子中,由于段落标记定义了id、class和style属性,每个样式规则都匹配,因此,这些样式合并到元素上。最后,Class属性本身也可以用于把多个样式合并到同一个元素上。Class属性可以在空格分隔的字符串中指定多个类名。程序清单18-7 把多个类选择器赋予单个元素CSS Inherit
24、ance Samplep.titlefont-family: Courier New;letter-spacing:5pt;p.summercolor:Blue;p.newproductfont-weight:bold;color:Red;Lorum Ipsum 在这个例子中,3个类title、summer和newproduct都在Class属性中定义了。这表示,这3个样式会合并到段落元素上。注意在这种情况下,CSS类在内部样式表中的定义顺序也会影响样式合并到段落标记上的方式。即使summer类在Class属性定义的类列表中的最后,newproduct规则也会覆盖summer规则的颜色属性,因
25、为在内部样式表中,newproduct规则是在summer规则的后面定义的。18.2.4 CSS继承CSS包含样式继承的概念。这是有效的,因为浏览器把可以定义样式的不同位置(外部、内部和内嵌)看作一个层次结构。图18-6显示了这个继承关系,演示了在3个不同位置定义的、段落类型选择器规则的font-family属性可以被其他样式规则覆盖。(点击查看大图)图18-6从图18-6中可以看出,应用样式的元素越接近样式的定义,优先级就越高。在前面的例子中,段落文本最终应使用Courier New字体系列显示,因为它是在内嵌样式中定义的。继承关系不仅应用于在不同文件位置中保存的样式,还应用于同一个位置的样
26、式。这说明,有时还需要考虑定义样式的顺序。例如,程序清单18-8显示了一个样式表,它包含两个类型选择器,这两个选择器都应用于段落元素,都设置了font-family属性。显然。它们不可能应用于同一个元素,所以CSS选择最接近段落标记的选择器。程序清单18-8 在同一个内部样式表中使用样式覆盖功能pfont-family:Arial;pfont-family: Courier New;Lorum Ipsum 运行这个示例,会看到所应用的字体是Courier New。注意合并外部样式表和内部样式表中的样式时应小心。浏览器最终选择最接近特定元素的样式,这说明浏览器开始分析Web页面时,在外部样式之前
27、定义的内部样式应远离HTML元素。因此,浏览器会使用外部样式表中的样式。如果打算在内部和外部样式表中存储样式规则,应在Web页面的内部样式表块之前包含外部样式表标记。18.2.5 元素的布局和定位(1)CSS不仅可用于使页面上的元素样式化,还可以定位元素。CSS为定位元素提供了比HTML更灵活的系统。CSS把Web页面上的元素定位建立在方框模型的基础上。元素的方框行为确定后,就可以使用几种不同的技术定位元素了。1. CSS的方框模型在CSS中定位的核心元素是方框模型。方框模型定义了浏览器如何把HTML中的每个元素看作一个矩形方框。该方框由不同的部分组成,包括页边距、填充空间、边框和内容。图18
28、-7显示了这些元素如何合并,构成该方框。图18-7构成该方框的所有元素可以影响元素在Web页面中的位置,除非特别指定,否则每个元素的默认值都是0。元素的高度和宽度等于页边距外边界的高度和宽度,如图18-7所示,它们不一定等于内容的高度和宽度。HTML提供了两种不同类型的方框:块框和内嵌框。块框一般用、或等标记表示,块框的包含块用于确定其子块的位置。另外,块框可以包含内嵌框或块框,但不能同时包含两者。程序清单18-9显示的页面包含一个父块和两个子块元素。程序清单18-9 创建块框元素Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
29、Donec et velit a risus convallis porttitor.Vestibulum nisi metus, imperdiet sed, mollis condimentum, nonummy eu, magna. Duis lobortis felis in est. Nulla eu velit ut nisi consequat vulputate.Vestibulum vel metus. Integer ut quam. Ut dignissim, sapien sit ametmalesuada aliquam,quam quam vulputate nib
30、h, ut pulvinar velit lorem at eros.Sed semper lacinia diam. Infaucibus nonummy arcu. Duis venenatis interdum quam. Aliquam ut dolor id leoscelerisque convallis. Suspendisse non velit. Quisque nec metus.Lorem ipsum dolor sitamet, consectetuer adipiscing elit. Praesent pellentesque interdum magna.第二个框
31、类型是内嵌框。内嵌框一般用B、I和SPAN等标记和实际的文本和内容表示。程序清单18-10说明了前面的清单如何修改为包含内嵌框。程序清单18-10 创建内嵌框元素Lorem ipsum dolor sit amet, consectetuer adipiscing elit.Donec et velit a risus convallis porttitor.Vestibulum nisi metus, imperdiet sed, mollis condimentum, nonummy eu, magna.Duis lobortis felis in est.Nulla eu velit u
32、t nisi consequat vulputate.Vestibulum vel metus. Integer ut quam. Ut dignissim, sapien sitamet malesuadaaliquam, quam quam vulputate nibh, ut pulvinar velit lorem at eros.Sed semper laciniadiam. In faucibus nonummy arcu. Duis venenatis interdum quam.Aliquam ut dolor id leoscelerisque convallis. Susp
33、endisse non velit. Quisque nec metus.Lorem ipsum dolor sitamet, consectetuer adipiscing elit. Praesent pellentesque interdum magna.显示这个页面,会使每个块从一个新行开始。图18-8是在浏览器中显示的标记。图 18-8Visual Studio设计界面也有助于清晰地绘制出div的布局。选择某个div元素时,设计界面会突出显示选中的元素,如图18-9所示。在本节的开头提到,块总是内嵌块或块框的容器,但注意在这里,由于第一行文本包含一个内嵌块,下一行包含一个块框,所以看
34、起来父div元素违反了该规则。但是,实际上在显示页面时,浏览器自动在第一行文本的周围添加了一个匿名的块框。图18-10突出显示了浏览器中的块框。图 18-9图 18-10可以使用position属性显式指定元素的框行为。例如,设置第二个div元素的position属性,会改变内容的布局,如下所示:Donec et velit a risus convallis porttitor.Vestibulum nisi metus, imperdiet sed, mollis condimentum, nonummy eu, magna.图18-11说明了添加这个属性如何改变Visual Studio
35、设计界面上标记的显示结果。可以看出,元素的内容不显示在新行上,而是显示在上一个块的后面。还可以把display属性设置为none,从Web页面布局中完全删除元素。如果元素的display属性设置为none,或visibility属性设置为hidden,Visual Studio就在其设计界面上给出显示或隐藏这些元素的选项。图 18-11如图18-12所示,在View菜单上有两个选项,用于使设计界面切换设置了这些属性的元素的可见性。图 18-1218.2.5 元素的布局和定位(2)2. 定位CSS元素CSS提供了3种主要的定位机制:Normal、Absolute和Relative。每种机制都提供
36、了不同的行为,用于定位页面上的元素。要指定元素使用的布局类型,可以设置CSS的position属性。每个元素都可以设置它自己的position属性,从而在同一个Web页面上使用多种定位方案。一般定位机制使用一般定位机制,块项会垂直布置,内嵌项会从左到右水平布置。这是默认方式,如果没有给position属性提供其他值,就使用该方式。图18-13演示了4个块使用一般定位机制的布局。可以看出,每个块项垂直布置。图 18-13相对定位机制使用相对定位机制,元素最初仍使用一般布局方式来定位。先定位包围框,再根据偏移属性top、bottom、left和right移动该框。图18-14显示了与上一节相同的内
37、容,但现在第三个块框设置为使用相对定位机制。Visual Studio可以提供块的定位线,显示其顶部偏移是根据块的正常顶部位置计算出来的,左边的偏移是根据正常的左边位置计算出来的。Visual Studio甚至允许抓取元素的标记标签,在设计界面上拖动它,可视化地定位块。图 18-14在设计界面上定位元素时,元素的top和left值会更新。最后,元素如下所示:Donec et velit a risus convallis porttitor. Vestibulum nisi metus,imperdiet sed, mollis condimentum, nonummy eu, magna.绝
38、对定位机制绝对定位机制类似于相对定位机制,但元素的偏移位置是根据它在一般定位机制中的位置来计算的,偏移则根据距离该元素最近的绝对定位的祖先元素的位置来计算。如果不存在该祖先元素,就把浏览器窗口作为祖先元素。图18-15说明了使用绝对定位机制的块如何显示在Visual Studio设计界面上。可以看出,与上一节中相对定位的元素的显示不同,这次定位线延伸到设计界面的边界处。这是因为块使用浏览器窗口来计算其偏移。图 18-15与相对定位的块一样,也可以使用元素的标记标签在页面上定位元素,Visual Studio会自动更新偏移值。图18-15中的块会输出如下所示的元素:Donec et velit
39、a risus convallis porttitor. Vestibulum nisi metus,imperdiet sed, mollis condimentum, nonummy eu, magna.元素的浮动使用CSS控制元素的位置的另一个选项是float属性,该属性可以使元素浮动在块的左边界或右边界上。浮动的块采用垂直定位方式,与一般定位方式相同,但在水平方向上可以左右移动。程序清单18-11演示了如何浮动本节前面示例中的块。程序清单18-11 把一个块元素浮动到右边Lorem ipsum dolor sit amet, consectetuer adipiscing elit.D
40、onec et velit a risus convallis porttitor. Vestibulum nisi metus,imperdiet sed, mollis condimentum, nonummy eu, magna.Duis lobortis felis in est. Nulla eu velit ut nisi consequat vulputate.Vestibulum vel metus. Integer ut quam. Ut dignissim, sapien sit amet malesuadaaliquam, quam quam vulputate nibh
41、, ut pulvinar velit lorem at eros. Sed semperlacinia diam. In faucibus nonummy arcu. Duis venenatis interdum quam.Aliquam utdolor id leo scelerisque convallis. Suspendisse non velit.Quisque nec metus. Loremipsum dolor sit amet, consectetuer adipiscing elit.Praesent pellentesque interdummagna.块修改为在其样
42、式中包含float属性。因此,Visual Studio会把元素正确定位到页面的最右端,如图18-16所示。图 18-163. !important特性如本章前面所述,浏览器选择把最接近的样式应用于元素,这表示覆盖其他已应用的样式的属性。与CSS中的许多其他规则相同,CSS也提供了一种机制,来绕过这个规则,该机制称为!important特性。应用了这个特性的属性可以避免其他CSS规则覆盖其值。程序清单18-8说明了如何覆盖font-family属性。!important特性可以修改这个示例,使用font-family属性,如程序清单18-12所示。程序清单18-12 使用!important特
43、性控制样式的覆盖pfont-family:Arial !important;pfont-family: Courier New;Lorum Ipsum在这个例子中,段落不用Courier New字体显示,而使用Arial字体,因为它用!important特性标记了。18.2.6 在Visual Studio中使用HTML和CSS(1)使用HTML和CSS创建漂亮的Web站点设计很容易令人畏缩。但Visual Studio提供了许多工具,帮助简化页面布局和CSS管理。Visual Studio包含一个我们很熟悉的、很不错的WYSIWYG设计界面。在Visual Studio的以前版本中,这个设计
44、界面使用Internet Explorer生成设计视图,但在Visual Studio 2008版本中,微软完全重写了设计界面,它现在完全独立于Internet Explorer。在Visual Studio中,当设计视图获得焦点时,可以使用另外两个菜单:Format和Table,如图18-17所示。(点击查看大图)图 18-17很容易猜出,Table菜单包含的工具可以在Web页面上插入、删除、选择和修改HTML表格。从Table菜单中选择Insert Table选项,会打开如图18-18所示的Insert Table对话框,它可以方便地指定表格的属性。可以定义表格的行数和列数,单元格的填充方
45、式和间距,以及边框属性。单击OK后,Visual Studio就会在Web页面上自动生成对应的表格HTML。图 18-18在Web页面上选择已有的表格时,Table菜单就允许插入和删除表格中的行、列和单元格。Modify菜单项还可以把已有的单元格拆分为两个单元格,把两个单元格合并为一个单元格,配置行和列的大小。Format菜单包含基本的元素格式化选项,例如访问元素的CSS类,设置前景色和背景色、字体和位置,把内容转换为不同类型的列表。1. 在Visual Studio中使用CSSVisual Studio 2008提供了许多新工具,使CSS的使用更方便。使用Visual Studio设计界面时,很容易为Web页面创建新样式。可以右击任意对象,从关联菜单中选择New Style选项,或者从Format菜单中选择New Style选项。这两种方式都会打开如图18-19所示的New Style对话框。这个对话框创建了一个新样式。首先,从Selector下拉列表中选择要创建的选择器类型,该列表包含所有的元素类型,如果要创建类选择器或ID选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业项目合作合同协议范本
- 2025年基于废弃矿区建设风力发电项目合作协议合同
- 2025深圳市广告代理合同范本
- 电子商务品牌跨界合作合同
- 2025财产保险合同样本
- 2025合同协议范本
- 行政合同沟通协商方案
- 急性胰腺炎非手术治疗护理体会
- 河北函授专升本数学试卷
- 海头高中高三数学试卷
- 初中数学分层作业设计论文
- 中小学校长管理案例
- 《电力设施治安安全风险等级和安全防护要求》
- 工程项目部安全生产治本攻坚三年行动实施方案
- 四川建筑安全员-C证考试(专职安全员)题库及答案
- 光伏验收报告
- 职业倦怠量表MBI-HSS
- 学校桌椅采购投标方案
- 盘扣式外脚手架施工方案
- 初中数学目录(浙教版)
- 呼吸衰竭抢救流程
评论
0/150
提交评论