IBM站一个网页到底包含了多少技术--看分析

时间:2008-03-11 09:53:05   来源:im286.com  作者:  点击:次  出处:技术无忧
关键字:ibm css java 网页设计

IBM首页源代码浅析----转
一、浏览器兼容性
作为一个国际大公司的站点,保证能在不同浏览器下的可浏览性是必须考虑的,这点IBM的做法不得不令人佩服。它巧妙的利用一个javascript(ibmcss.js)根据不同的浏览器选择不同的样式表,这也就是为什么我们直接打开保存在硬盘上的IBM页面不能看到用样式表定义的原因。
打开ibmcss.js,分析一下代码,我们就可以发现IBM一共设计了四个样式表: ie1.css , ie6.css , r1.css , ns1.css 。这四个样式表大部分都相同,主要的区别在于字体大小(font-size)的单位:ie6 里用%,r1里用px,ns1里用pt。下面是同样的一条样式在不同css里的定义:

ie6.css: body { font-family: Arial, sans-serif; font-size: 78%; }

r1.css :body,p,b,i,strong,em,dt,dd,dl,sl,caption,th,td,tr,u, blink,select, option,form,div,font,li { font-family: Arial, sans-serif; font- size: 12px; }

ns1.css: body,dt,dd,dl,sl,caption,th,td,tr,select,option,form,font { font-family: Arial, sans-serif; font-size: 9pt; }

而从对ibmcss.js里程序逻辑的分析可以得到下面样式表和浏览器的对应关系:

r1.css : Macintosh IE4.0以上,Macintosh Netscape4.0以上,Netscape5.0以上,
X11 Netscape5.0以上 (Xwindows for linux or unix,I guest )
ie6.css: Windows IE4.0以上,
ns1.css: 其他操作系统Netscape4.0以上
ie1.css: 其他操作系统IE4.0以上

我分别在Windows XP+IE6.0和Linux Rat hat 7.1+NS4.7两个环境下测试了这四个样式表,在IE6里四个样式表

都可以正常显示,只是字体大小略有区别;而在NS4.7里,用ie1.css和ns1.css定义的页面字体模糊不清,而用

r1.css和ie6.css显示的页面可以正常显示。

同时,IBM也考虑到了部分浏览器不支持javascript的情况,在ibmcss.js后紧跟了一句<NOSCRIPT><LINK href="r1.css" type=text/css rel=stylesheet></NOSCRIPT>,对于不支持javascript的浏览器将统一采用r1.css。不过这里有一点我不能理解的是为什么在head里面用了两句同样的<NOSCRIPT>语句,是为了保险起见还是设计者没有精简掉呢,希望大家能一起探讨。

二、规范全面的META内容

作为一个规范的页面,详尽的META内容是必不可少的,这一点IBM一直做得很好,我们可以回顾一下其99年页面里的META内容:
<meta content="ibm international business machines internet" name="keywords">
<meta content="http://www.ibm.com/" name="alias">
<meta content="webmaster@www.ibm.com" name="owner">
<meta
content="The IBM corporate home page, entry point to information about IBM products and services"
name="description">
<meta
content="(PICS-1.1 "http://www.rsac.org/ratingsv01.html"; l gen true comment "RSACi

North America Server" by "epc@www.ibm.com"; for "http://www.ibm.com/"; on

"1997.07.05T21:46-0500" r (n 0 s 0 v 0 l 0))"
http-equiv="PICS-Label">
<meta
content="(PICS-1.0 "http://www.classify.org/safesurf/"; l gen true for

"http://www.ibm.com/"; by "epc@www.ibm.com"; r (SS~~000 1 SS~~100 1))"
http-equiv="PICS-Label"> 收藏:http://pc51.net/www/html-css/2008-03-10/htm10287.html

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面