<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="[转]从挑一段HTML的毛病，来看你真的了解HTML吗？–雅虎面试题" id="card1">
<p> 游客</p><p>
标题:[转]从挑一段HTML的毛病，来看你真的了解HTML吗？–雅虎面试题<br/>
正文:<br/>
有这么一段HTML，请挑毛病：&amp;lt;P&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;哥写的不是HTML，是寂寞。&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;我说：&amp;lt;br&amp;gt;不要迷恋哥，哥只是一个传说这是原来雅虎一道笔试题（文字变了变），用了很多年了，还没有一个人完全答对过。 下方有公布答案，不过请各位还是先各自答题比较好     ＝＝＝＝＝＝＝＝＝＝＝＝＝＝ 解答部分 ================出这道题的动机是，太多人觉得HTML太简单，但它恰恰又是前端开发中最基础最重要的部分。HTML结构设计的合不合理，直接影响到代码易不易维护，灵不灵活，同时事关网页性能，协作效率。碰到不少人认为前端开发就是javascript开发，大错特错啊。javascript, html, css这三个前端开发的基础支柱，性质完全不同又紧密关联，对它们的正确理解，合理应用是专业与非专业的区别。有些后端工程师可以写出很漂亮的JS，但他们真的不懂怎么合理的把js, html, css结合起来应用。对html的准确把握，不像学一般的编程语言那样，而是建立在丰富实践经验和体会的基础上，是前端的工程师的基本功。这不是一道较真题或是装逼题，正经一道“画鸡蛋”的题（引自http://twitter.com/RageCarrier/status/10712084993）考的是基本功。代码如其人，对一行代码的理解足以反映出他的前端开发素养。言归正传。这道题的考点：考点1：html和 xhtml的区别<br/>这行代码在html 4.01 strict下是完全正确的，在xhtml 1.0 strict下是错误一堆的。所以明显是一个考点。在xhtml下所有标签是闭合的，p,br需要闭合, 标签不允许大写，P要小写。同时nbsp和br必须包含在容器里。html下这些都不是错。p在html里是可选闭合标签，是可以不用闭合的。这个考点告诉你xhtml是多么苛刻。这是基本考点，答对，你能拿到60分。考点2：考样式分离<br/>用nbsp控制缩进是不合理的。应该用CSS干这事。所以应该删掉nbsp考点3：合理使用标签<br/>br是强制折行标签，p是段落。原题用连续的br制造两个段落的效果，效果是达到了，但<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=935&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=935&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=935&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=935&amp;Page=2">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=935">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=935">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>