XHTML CSS制作样式风格切换的WEB站点

互联网   发布时间:2008-10-17 19:26:50   作者:佚名   我要评论

随着XHTML的逐渐推广流行,HTML在许多场合已经显得过时。WorldWideWebConsortium(W3C)于2000年6月26日发布了XHTML的第一个版本作为推荐标准。XHTML标准的目标是取代html。按照W3C的说法,“XHTML是html的继承者”(http://www.w3.org/MarkUp/)。

XHTML具有两大目标

随着XHTML的逐渐推广流行,HTML在许多场合已经显得过时。WorldWideWebConsortium(W3C)于2000年6月26日发布了XHTML的第一个版本作为推荐标准。XHTML标准的目标是取代html。按照W3C的说法,“XHTML是html的继承者”(http://www.w3.org/MarkUp/)。

XHTML具有两大目标:

在文档结构和表示形式之间创建更明显的分离。

将html重新表示为XML的应用程序。

使用XHTML标准的好处是:只需设计页面一次,即可让该页以完全相同的方式在任何现代的浏览器中显示和工作。例如,在按照标准生成以后,页面在InternetExplorer、MozillaFirefox、NetscapeNavigator、Opera、Camino和Safari)中以相同的方式显示,而无需完成任何额外的工作。并且XHTML标准可以使Web站点更易于为智能手机、残疾人电脑等设备访问。

由于XHTML标准要求在在文档结构和表示形式之间创建更明显的分离。因此使用CSS样式表是必不可少的。CSS在网页中占着极重要的地位,它的使用一直是热门讨论的话题。CSS是CascadingStyleSheet的简写,译为“层叠样式表单”。在1997年W3C颁布HTML4标准的同时也公布了有关样式表的第一个标准CSS1,自CSS1的版本之后,又在1998年5月发布了CSS2版本。

CSS的发明者的目的是除去表示性元素,即应该根据内容所表示的东西来标记内容,而样式表应该用于美化内容。而这一点与XHTML分离文档结构和表示形式的目标是一致,(在XHTML2.0将除去b、i和img标记(以及big、small和tt),甚至不赞成使用br,准备从将来的发行版中除去它。原因在于大多数标记都是表示性的。它们的唯一目的就是给予浏览器指令,规定有关其内容应该如何显示,但却完全未提供有关其内容是什么的信息。)因此它们成了最好的合作伙伴。更多关于XHTML2.0的资料,请参见:http://www-128.ibm.com/developerworks/cn/xml/x-wa-xhtml/index.html

CSS过去经常被用来定义字体的属性,而现在新标准中我们将用它来控制整个页面的显示。然而,我们必须需要做一些不同于以往的处理来适应这种新的变化,如:使用div来布局而不是表格,使用结构化、语义化的标记等等。由于采用新的处理方式,我们现在可以轻松地设计出可重用的CSS(同一个样式文件多个WEB站点中使用)以及可换肤的WEB站点(一个站点使用多种不同风格的样式)。

示例请见四川省建设厅信息门户,界面切换在右上方,如图1所示。由于时间原因,并未通过XHTML和CSS校验,但原理是一样的。

图1:界面样式切换

1、重新设计站点的HTML

首先我们要去掉网页中有关外观的标签。在以前的代码中,我们常用一个表格用来在页面的内容中创建一个有边框的区块,我们还使用〈b〉来加粗文本。用来改变字体颜色等等。用
标签来创建段落等。

而要做出能适应XHTML标准和能随意换肤的网站,我们须要避免在页面中使用有关外观的标签。使文档结构和表示形式分离的一个最大的好处就是它使文档在没有CSS时,仍然可以使用和访问。表现(就是文档看上去的样子)在一个支持性好的浏览器中也将呈现的不一样,但是它的内容将永远不变,大多数情况,对于访问网站的人来说,内容实际上比表现的方式更加重要。这就是为什么给那些支持性不好的浏览器发送一个没有样式的页面,要比把他们排斥在外要好的原因。

现在比较流行的做法是使用DIV、SPAN等标签来布局整个页面,而TABLE,UL,PRE,CODE等标签来显示数据,用UL是用来显示无序的列表信息,而OL显示有序的列表信息。这将比用TABLE来显示一个列表更有语义上的意义,同时UL和OL在浏览器中比TABLE标签更快有下载速度,并且相对于TABLE,CSS对UL和OL的外观控制更加灵活。当然对于复杂的数据,比如报表,用TABLE来显示仍然是不二的选择。

2、建立基本的通用样式

由于所有的XHTML文件都是由各种各样的HTML标签和标签内的文字组成,而一些基本的标签在每个XHTML文件都存在的,如:body、table、td、div、h1—h6、ul、li、input等等,如果我们定义好了这些标签的CSS样式,如:字体,字号,行距,背景色,背景图等等,我们就有了一个基本的样式风格,就如同在Word或PowerPoint中的主题,每个主题就是一套风格样式。因此,我们可以根据基本的HTML标签定义出一个通用的样式来,例如建立一个siteComm.css文件,定义如下:

/*文中的样式表语法中的"("及""为示例所用,因为blog每次保存花括号都出现错误。请在使用时改为正确的符号*/

BODY

(

background:url(images/bg_page.jpg);

font:10ptverdana,arial,;

margin-top:0px;

margin-left:0px;

margin-right:0px;

margin-bottom:0px;

)

H1,H2,H3,H4,H5,H6

(

border-bottom:solid1px#ccc;

margin:1em0;

)

TD

(

font:10pt;

)

A:link

(

color:#057AE0;

text-decoration:none;

)

A:visited

(

color:#057AE0;

text-decoration:none;

)

A:hover

(

color:#009900;

)

A:active

(

color:#009900;

)

这样的一个样式文件,可以适用于任何一个网页,只要添加引用我们都可以立刻看见效果。

由于样式表的继承规则是外部的标签样式会保留下来继承给这个标签所包含的其他标签。事实上,所有在标签中嵌套的标签都会继承外层标签指定的属性值,有时会把很多层标签的样式叠加在一起,例如在body标签中定义了字体大小,那么div、p等标签也会继承一样的字体大小,如果在P标签中又定义了字体颜色,那么P标签中的文字既具有body标签的字体大小又有P标签的字体颜色。需要注意的是,table标签不会继承body的字体大小设定,所以在上面的样式表中,我们单独来定义td的样式。

3、定义好页面的结构布局

很多时候,我们在制作网页时总是从视觉出发,先用Photoshop或者Fireworks画出来、思考页面的配色,做一些很炫的效果,很精美的图片,再切割成小图。然后通过编辑HTML将所有设计变成页面。

然而,有视觉的缺陷的人,不能理解这些颜色或者效果。PDA、移动电话和屏幕阅读机上也无法解析这些效果。

因此外观并不是最重要的。一个结构良好的XHTML可以通过CSS的不同定义,显示成任何外观,显示在任何支持XHTML的网络设备上。

通过分析我们可以发现,对于大多数WEB网站来说,页面都是由一些类似的内容区块所组成,如:

站点标题区

站点导航(主菜单,次及菜单)

功能区(例如搜索框、用户登陆区)

内容区(文章正文或者文章、产品列表)

页脚(版权和有关法律声明)

然后我们用DIV标签来将这些区块包含起来,类似这样:

站点标题

html页面的内容外观显示样式,XHTML CSS制作样式风格切换的WEB站点相关推荐

  1. android的文本框内容居中显示图片,DIV+CSS中让布局居中_背景图片居中_文字内容居中...

    在DIV CSS布局的页面里,从布局内容到页面里文章文字居中都是非常重要的,而 1.首先介绍使用css属性让整体布局的居中: 设置对象的父级内容居中,这里一个页面的为父级是什么呢?我们可以想象整个页面 ...

  2. uni-app封装自己常用的css样式-----自定义css的样式 (便于开发)-----原理简单

    我们在开发uni-app的时候,有的时候我们的css代码是常常需要用到的,比如说,比如说居中的问题 .center {position: absolute;top: 50%;left: 50%;tra ...

  3. css公用样式文件,CSS公用样式.doc

    CSS公用样式 html, body, div, p, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, form, input, select, button, ...

  4. php hr样式虚线,CSS 虚线样式

    CSS 虚线样式 2010-03-03 效果演示 none: Defines no border dotted: Defines a dotted border dashed: Defines a d ...

  5. html实现页面中内容居中显示图片,javascript怎么让图片居中显示?

    javascript怎么让图片居中显示?下面本篇文章给大家介绍一下.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. javascript让图片居中显示的方法 1.准备一个图片,如图, ...

  6. html中加载页面内容不显示不出来,css怎么加载不正常?原因是什么?

    当我们在浏览网页时,偶尔会看见网站样式加载不正常,加载不出来的情况.对于前端初学者来说,可能也会出现css样式不能正常调用或显示的问题.那么想要去解决这样的问题,就需要知道出现这样问题的原因. 下面我 ...

  7. ios fixed定位后内容不显示_记录CSS中 position:fixed 踩的坑

    在 html 页面的css样式中,如果将 position 属性的值设置为 fixed,那就表示其元素的位置相当于显示设备的可视区域进行定位,而今天在调试此属性时,却发生了一件奇怪的事件. posit ...

  8. 字体样式和css文本样式

    设置字体属性font-! 1.设置字体属性(用内部样式写在style里) /* 字体可以用引号包裹 也可以不加 ★如果楷体也不认识,那么就用浏览器默认的字体 */ .p1{ font-family: ...

  9. html input样式优化,CSS Input 样式美化

    仅供学习,转载请注明出处 简介 在设置input的适合,你会觉得默认的input样式并不好看.那么该怎么优化呢? 默认的input 可以从上面看出,这个样式的确不好看. 优化input样式 设置 ou ...

最新文章

  1. js获取当前时间显示在页面上
  2. Cadence快捷键设置亲测有效!
  3. Android Wear 唤醒热词会比“你好,安卓”好吗?
  4. 【渝粤教育】国家开放大学2018年春季 0177-22T电机学(二) 参考试题
  5. win10语音语言服务器,win10系统:朗读女语音库(发音人)安装方法说明
  6. ant copy 复制文件用法
  7. 在计算机应用领域中媒体是指,在计算机中,媒体是指什么
  8. 无线扫码枪 服务器查询异常,扫描枪常见问题
  9. android xutils3 jar,Android全能开源项目xUtils3开发教程、简单封装
  10. PHP实现物流查询(通过快递网API实现)
  11. python遍历文件夹循环处理图片
  12. python生成验证码的程序_用python生成验证码图片
  13. 【基于ARM cortex-A53的音视频】
  14. 凌云驭势 亚马逊云科技开启re:Invent中国行
  15. markdown渲染器--ACwing网站yxc老师题解
  16. 814. Binary Tree Pruning(C语言)
  17. 2021年全球与中国汽车ABS和ESC行业市场规模及发展前景分析
  18. 【STM32】基础知识 第一课 单片机简介
  19. Office WORD如何简繁转换
  20. vulnhub——ICA1靶机

热门文章

  1. 123D Design安装与汉化
  2. 2022年自考专业考试(英语)语言与文化练习题
  3. sequelize多条件_Sequelize操作MySQL基本用法
  4. JS常见加密 AES、DES、RSA、MD5、SHAI、HMAC、Base64(编码) - Python/JS实现
  5. Linux.task1
  6. [转]一位HR对应届毕业生的不满[招聘|应聘]
  7. Travel(dij)
  8. 转一篇千与千寻的影评。。。{超适合我们看}
  9. 简述setBackgroundResource、setBackgroundColor的区别
  10. Android setbackgroundcolor()方法的使用