看雅虎网页的设计,谈谈 XHTML

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/water6000/article/details/6704401

如果你在网上搜索一下,就会发现以下的现象。

网上说JS(以及JS的替代品JQuery)和 CSS + DIV 的文章很多,但讨论 html 的是在很还是少,大概也是因为它比较简单吧。以前都是用table,现在“网页标准”也被一些所谓的“好事者”喊乱了,于是乎讲 table 改成 div 也成了各大网站的趋势。但是 table 没了,table 的思想确实一直还在的,最简单的例子就是页面上像潘多拉宝盒似的嵌套,呵呵。

这次对同学公司的网站做二次开发,才发现一个有趣的现象,如果,客户的页面的结构不是老变化的情况下,用table布局还是来的很方便的。但是,一旦要是频繁的做修改!那用一句话来说,就是神仙来了也会累的吐血的!

我同学的公司的同事对网页制作并不很熟悉,所以,在他们的脑海里面,做网页应该和用word写文档是一样的,只要有了内容,加上拆分和汇总,再加上格式的修饰应该很容易的。所以,他们经常会改来该去,这下可苦了我找的外包公司,不知是出于什么原因,他们经常拒绝做很大的改动,而且也一再要求,客户能把页面模版确定下来,这回看过源码才发现,原来他们的技术人员也许是美工竟然采用了tbale布局,每个网页都嵌套了无数个表格,即使是使用Dreamweaver,这号称史上最牛逼的工具,也居然快搞不清楚整个页面的整体结构了,更别说,让我们这些维护者无法轻易下手了。

于是,不得不再二次改版的时候就全部去掉了,全部改成了DIV + CSS,但由于时间的关系,并没有很严格把前端的工作按照:XHTML + CSS 和JS这三块来划分,也就是平时常说的结构(xhtml)和表现(css)分离,行为 (javascript)和表现分离,行为和结构分离。这应该说这是一次不错的尝试把,当然我在具体的实施过程中势必在比以前要花上更多的时间。但是从另一方面讲,如果这样做能成功是不是意味这我们的分离至少会有一个必然的不错的成果。时间花的多的原因,主要还是在于自己对前端开发不是很熟悉,因为,以前做的都是后端开发了,其次,由于该公司做的程序还存在的各种bug及一些不合理的逻辑,也让我把用在这上面的时间拖着很长。

当然,把js分离出来这个问题不大,用框架就是基于这样的理论的,更何况,还有一个强有力的工具JQery的帮忙!可是,把css和xhtml分工写似乎是以前从没做过的事情,好在这次的同学网站项目二次开发的时间比较充裕,在项目化的三个元素(资源,效率,质量)中更看重质量的环节,所以才有这样的机会去尝试。当然,由于种种原因,做的并不彻底,这比较遗憾!争取下次改版的时候,做的更好一些吧!

在分享web性能的时候,又重新注意一个很有趣的现象,yahoo首页作为全球最繁忙的页面,一共也只有621个html标签,而我们看到一些中文网站站竟然有上千个之多!好可怕。光一个getElementById性能上就会差很多。 然后再把css去掉让网站裸奔一下, 雅虎的首页结构依然是那么清晰,条条框框很面线,信息组织上也很轻清楚,即使拿它来做张页面也没什么问题。而我们的中文网站就乱多了……

又想到了最近一段时间,经常出现的运营的虚拟主机的问题,经常导致的页面错位的事情。最近一段时间,有关唬人的seo的捷报频传,于是乎运营们可开始大刀阔斧地使用起来, 是想一张页面上都是重点,那重点又从何而来呢?我们常常是在讲语义话,可事实上要让计算机看得懂我们的纯html还有很长的路要走。

但是,问题又来了,我不禁要问,我们的做的东西是给谁看,有人说是最终客户,胡说,客户才不管你用的是什么布局,他们的要求其实很简单,在最短的时间里,做出他们认为说的过去的网页,并能很快的显示出来,给计算机看,难道计算机因为你写的纯html就能省钱吗?当然不是,其实,我们做的这些东西都是给像我们这些做维护的人看的,因为,我们希望在没有完全了解内容的情况下,可以任意的进行修改或二次开发。这才是问题的关键!

欢迎和我讨论这个问题,留言评论更佳!

附记:

附上部分网页源码的截屏,大家可以体会一下!碰上这样的美工或者称之为开发人员,简直无语了!

QQ拼音截图未命名

QQ拼音截图未命名2

展开阅读全文

雅虎面试题

06-03

rnrnQuestion 1. (单选)   在计算机网络中,表征数据传输可靠性的指标是rnrn   1. 传输率   2. 误码率   3. 信息容量   4. 频带利用率 rnrnQuestion 2. (单选) rnrn  以下关于链式存储结构的叙述中哪一条是不正确的?rnrn   1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构   2. 逻辑上相邻的结点物理上不必邻接   3. 可以通过计算直接确定第i个结点的存储地址   4. 插入、删除运算操作方便,不必移动结点 rnrnQuestion 3. (单选) rnrn  以下哪一个不是栈的基本运算 rnrn   1. 删除栈顶元素   2. 删除栈底元素   3. 判断栈是否为空   4. 将栈置为空栈 rnrnQuestion 4. (单选) rnrn  以下关于广义表的叙述中,正确的是 rnrn   1. 广义表是0个或多个单元素或子表组成的有限序列   2. 广义表至少有一个元素是子表   3. 广义表不可以是自身的子表   4. 广义表不能为空表 rnrnQuestion 5. (单选) rnrn  如果一棵二叉树结点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树结点的对称序序列rnrn   1. 必为A、B、C    2. 必为A、C、B    3. 必为B、C、A    4. 不能确定 rnrnQuestion 6. (单选) rnrn  在虚拟页式存储管理方案中,下面哪一部分完成将页面调入内存的工作?rnrn   1. 缺页中断处理   2. 页面淘汰过程   3. 工作集模型应用   4. 紧缩技术利用 rnrnQuestion 7. (单选) rnrn  在DOS系统中,用于记录和管理磁盘数据区使用情况的数据结构rnrn   1. 位图表   2. 空闲块表   3. 文件分配表   4. 文件控制块 rnrnQuestion 8. (单选) rnrn  设有关系R(S,D,M),其函数依赖集F=S→D,D→M。则关系R至多满足rnrn   1. 1NF    2. 2NF    3. 3NF    4. BCNF rnrnQuestion 9. (单选) rnrn  在数据库逻辑设计中,当将E-R图转换为关系模式时,下面的做法哪一个是不正确的rnrn   1. 一个实体类型转换为一个关系模式   2. 一个联系类型转换为一个关系模式   3. 由实体类型转换成的关系模式的主键是该实体类型的主键   4. 由联系类型转换成的关系模式的属性是与该联系类型相关的诸实体类型的属性的全体 rnrnQuestion 10. (单选) rnrn  计算机网络按照所覆盖的地理范围分类,可以分广域网、局域网与 rnrn   1. TCP/IP网   2. ATM网   3. ISDN    4. 城域网 rnrnrnQuestion 11. (单选) rnrn  计算机网络拓扑结构主要取决于它的rnrn   1. 资源子网   2. FDDI网   3. 通信子网   4. 路由器 rnrnQuestion 12. (单选) rnrn  网络协议的三个要素是语法、语义与rnrn   1. 工作原理   2. 时序   3. 进程   4. 服务原语 rnrnQuestion 13. (单选) rnrn  TCP/IP参考模型中,电子邮件协议SMTP依赖于传输层的rnrn   1. UDP协议   2. IP协议   3. TCP协议   4. 802.2协议 rnrnQuestion 14. (单选) rnrn  IEEE802.2协议中10BASE-T标准规定在使用5类双绞线时,从网卡到集线器的最大距离为rnrn   1. 100m    2. 185m    3. 300m    4. 500m rnrnQuestion 15. (单选) rnrn  100Mbps Fast Ethernet与10Mbps Ethernet 工作原理的相同之处主要在rnrn   1. 介质访问控制方法   2. 物理层协议   3. 网络层   4. 发送时钟周期 rnrnQuestion 16. (单选) rnrn  在Client/Server计算模式中,中间件middleware的作用是隔离应用与rnrn   1. 结构化查询语言SQL    2. 应用进程   3. 网络   4. IP地址 rnrnQuestion 17. (单选) rnrn  当用户向ISP申请Internet帐户时,用户的E-mail帐户应包括rnrn   1. IP地址   2. WWW地址   3. 用户密码(Password)    4. 用户名(User Name)与用户密码(Password) rnrnQuestion 18. (单选) rnrn  WWW的超链接中定位信息所在的位置使用的是rnrn   1. 超文本(hypertext)技术   2. 统一资源定位器(URL, Uniform Resource Locators)    3. 超媒体(hypermedia技术)    4. 超文本标注语言HTML rnrnQuestion 19. (单选) rnrn  计算机网络系统与分布式系统之间的区别主要是 rnrn   1. 系统物理结构   2. 系统高层软件   3. 传输介质类型   4. 服务器类型 rnrnQuestion 20. (单选) rnrn  帧中继系统设计的主要目标是用于互连多个rnrn   1. 广域网   2. 电话网   3. 局域网   4. 0)ATIM网 rnrnrnQuestion 21. (单选) rnrn  ATM网络采用固定长厦的信元传送数据,信元长度为rnrn   1. 1024B    2. 53B    3. 128B    4. 64B rnrnQuestion 22. (单选) rnrn  TCP/IP参考模型中的主机-网络层对应于OSI RM中的rnrn   1. 网络层   2. 物理层   3. 数据链路层   4. 物理层与数据链路层 rnrnQuestion 23. (单选) rnrn  计算机网络最突出的优点是: rnrn   1. 计算精度高   2. 内存容量大   3. 运算速度快   4. 连网的计算机能够相互共享资源 rnrnQuestion 24. (单选) rnrn  计算机网络分为局域网、城域网与广域网,其划分的依据是:rnrn   1. 数据传输所使用的介质   2. 网络的作用范围   3. 网络的控制方式   4. 网络的拓扑结构 rnrnQuestion 25. (单选) rnrn  用二分法查找一个长度为10的、排好序的线性表,查找不成功时,最多需要比较多少次?rn   1. 5    2. 2    3. 4    4. 1 Question 26. (单选) rnrn  模块内聚度越高,说明模块内各成分彼此结合的程度越rnrn   1. 松散   2. 紧密   3. 无法判断   4. 相同 rnrnQuestion 27. (单选) rnrn  软件需求分析阶段的输出主要是rnrn   1. 需求说明书   2. 开发计划   3. 可行性报告   4. 设计说明书 rnrnQuestion 28. (单选) rnrn  以下选项中不是项目经理的职责的是?rnrn   1. 需求分析   2. 计划   3. 计划跟踪   4. 质量管理 rnrnQuestion 29. (单选) rnrn  单元测试一般在什么时候进行? rnrn   1. 编码完成后   2. 系统测试前   3. 测试用例编写完成后   4. 集成测试后 rnrnQuestion 30. (多选) rnrn  配置管理能起到以下哪些作用? rnrn   1. 版本管理   2. 变更管理   3. 需求管理   4. 测试管理 rnrnrnQuestion 31. (单选) rnrn  根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?rnrnpublic void test(int i) lock(this) if (i>10) i--; test(i); rnrnrn   1. 会锁死   2. 不会锁死 rnrnrnQuestion 32. (单选) rnrn  以下描述错误的是()rnrn  1. 在C++中支持抽象类而在C#中不支持抽象类。  2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。  3. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。  4. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。 rnrnrnQuestion 33. (单选) rnrn  int[][] myArray3=new int[3][]new int[3]5,6,2,new int[5]6,9,7,8,3,new int[2]3,2; rnrnmyArray3[2][2]的值是()。 rnrn  1. 9   2. 2   3. 6   4. 越界 rnrnQuestion 34. (单选) rnrn  在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket侦听、( )、利用Socket接收和发 rnrn送数据。 rnrn  1. 建立Socket连接  2. 获得端口号;  3. 获得IP地址;  4. 获得主机名; rnrnQuestion 35. (单选) rnrn  如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则 rnrntreeView1.Nodes.Add(node)返回的是一个 ()类型的值。rnrn  1. TreeNode;  2. int;  3. string;  4. TreeView; rnrnQuestion 36. (单选) rnrn  声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是 rn rnrn  1. void myCallBack(int x)   2. int receive(int num)   3. string receive(int x)   4. 不确定的 rnrnQuestion 37. (单选) rnrn  关于ASP.NET中的代码隐藏文件的描述正确的是rnrn  1. Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件  2. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件  3. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件  4. 以上都不正确 rnrnrnQuestion 38. (单选) rnrn  What compiler switch creates an xml file from the xml comments in the files in an rnrnassembly?rnrn  1. /text   2. /doc   3. /xml   4. /help rnrnQuestion 39. (单选) rnrn  下面的代码实现了设计模式中的什么模式rnrn  public class A   private A instance;   private A()    rnrnrn  public static A Instance   get      if ( A == null )   A = new A();   return instance;             1. Factory    2. Abstract Factory    3. Singleton    4. Builder rnrnQuestion 40. (单选) rnrnclass Class1 public static int Count = 0; static Class1() Count++; public Class1() Count++; Class1 o1 = new Class1(); Class1 o2 = new Class1(); rnrnrn  请问,Class1.Count的值是多少?(3) rnrn   1. 1    2. 2    3. 3    4. 4 rnrnrnQuestion 41. (单选) rnrnabstract class BaseClass public virtual void MethodA() Console.WriteLine("BaseClass"); public virtual void MethodB() class Class1: BaseClass public void MethodA() Console.WriteLine("Class1"); public override void MethodB() class Class2: Class1 new public void MethodB() class MainClass public static void Main(string[] args) Class2 o = new Class2(); o.MethodA(); rnrnrn  请问,此程序输出结果是:rnrn   1. BaseClass    2. BassClass Class1    3. Class1    4. Class1 BassClass rnrnQuestion 42. (单选)rnrnpublic static void Main(string[] args) int i = 2000; object o = i; i = 2001; int j =(int) o; Console.WriteLine("i=0,o=1, j=2",i,o,j); rnrnrn   1. i=2001,o=2000,j=2000    2. i=2001,o=2001,,j=2001    3. i=2000,o=2001,,j=2000    4. i=2001,o=2000,j=2001 rnrnQuestion 43. (多选) rnrn  您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想 rnrn要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花 rnrn最小的代价完成这些目标,您应该怎么做?(多选)rnrn   1. 在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。   2. 在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。   3. 在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。   4. 在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。 rnrnrnQuestion 44. (单选) rnrn  如下程序的运行结果是:rnrnpublic abstract class A public A() Console.WriteLine('A'); public virtual void Fun() Console.WriteLine("A.Fun()"); rnrnrnpublic class B: A public B() Console.WriteLine('B'); rnrnrnpublic new void Fun() Console.WriteLine("B.Fun()"); rnrnrnpublic static void Main() A a = new B(); a.Fun(); rnrnrn   1. A B A.Fun()    2. A B B.Fun()    3. B A A.Fun()    4. B A B.Fun() rnrnQuestion 45. (单选) rnrn  Which of these string definitions will prevent escaping on backslashes in C#?* rnrn   1. string s = #”n Test string”;    2. string s = “’n Test string”;    3. string s = @”n Test string”;    4. string s = “n Test string”; rnrnrnQuestion 46. (单选) rnrn  Which of the following operations can you NOT perform on an ADO.NET DataSet?rnrn   1. A DataSet can be synchronised with a RecordSet.    2. A DataSet can be synchronised with the database.    3. A DataSet can be converted to XML.    4. You can infer the schema from a DataSet rnrnrnQuestion 47. (单选) rnrn  In Object Oriented Programming, how would you describe encapsulation?rnrn   1. The conversion of one type of object to another.    2. The runtime resolution of method calls.    3. The exposition of data.    4. The separation of interface and implementation. rnrnrnQuestion 48. (单选) rnrn  How does assembly versioning in .NET prevent DLL Hell?rnrn   1. The runtime checks to see that only one version of an assembly is on the machine at any one time.    2. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.    3. The compiler offers compile time checking for backward compatibility.    4. It doesn’t. rnrnrnQuestion 49. (单选) rnrn  三种常用的字符串判空串方法: rnrn   1: bool isEmpty = (str.Length == 0);    2: bool isEmpty = (str == String.Empty);    3: bool isEmpty = (str == ""); rnrnrn  哪种方法最快?rnrn   1. 1    2. 2    3. 3 rnrnQuestion 50. (单选) rnrnpublic sealed class SampleSingleton1 private int m_Counter = 0;   private SampleSingleton1() Console.WriteLine(""初始化SampleSingleton1。""); rnrnrnpublic static readonly SampleSingleton1 Singleton = new SampleSingleton1(); rnrnrnpublic void Counter() m_Counter ++; rnrnrn  以上代码实现了设计模式中的哪种模式?rnrn   1. 原型   2. 抽象工厂   3. 单键   4. 生成器 rnrn 论坛

没有更多推荐了,返回首页