首页 / 知识
Web前端:你真的了解HTML吗 (雅虎曾经的一道面试题)?
2023-04-11 14:38:00
出这道题的动机是,太多人觉得HTML太简单,但它恰恰又是前端开发中最基础最重要的部分。HTML结构设计的合不合理,直接影响到代码易不易维护,灵不灵活,同时事关网页性能,协作效率。碰到不少人认为前端开发就是javascript开发,大错特错啊。javascript, html, css这三个前端开发的基础支柱,性质完全不同又紧密关联,对它们的正确理解,合理应用是专业与非专业的区别。有些后端工程师可以写出很漂亮的JS,但他们真的不懂怎么合理的把js, html, css结合起来应用。对html的准确把握,不像学一般的编程语言那样,而是建立在丰富实践经验和体会的基础上,是前端的工程师的基本功。
这不是一道较真题或是装逼题,正经一道“画鸡蛋”的题,考的是基本功。代码如其人,对一行代码的理解足以反映出他的前端开发素养。
![]()
Web前端:你真的了解HTML吗 (雅虎曾经的一道面试题)?
言归正传。这道题的考点:
这行代码在html 4.01 strict下是完全正确的,在xhtml 1.0 strict下是错误一堆的。所以明显是一个考点。在xhtml下所有标签是闭合的,p,br需要闭合, 标签不允许大写,P要小写。同时nbsp和br必须包含在容器里。html下这些都不是错。p在html里是可选闭合标签,是可以不用闭合的。
这个考点告诉你xhtml是多么苛刻。这是基本考点,答对,你能拿到60分。
用nbsp控制缩进是不合理的。应该用CSS干这事。所以应该删掉nbsp
br是强制折行标签,p是段落。原题用连续的br制造两个段落的效果,效果是达到了,但显然用的不合理,段落间距后期无法再控制。正确的做法是用两个p表现两个段落。“我说”后面是正常的文字折行用br是合理的。
上面全答对,你就能拿到100分。
![]()
Web前端:你真的了解HTML吗 (雅虎曾经的一道面试题)?
html 4.01:
<p>哥写的不是HTML,是寂寞。<p>我说:<br> 不要迷恋哥,哥只是一个传说
xhtml 1.0:
<p>哥写的不是HTML,是寂寞。</p><p>我说:<br /> 不要迷恋哥,哥只是一个传说</p>
加分:合理的用语义化标签
在前面的基础上合理的用语义化标签,对内容进行必要的标记,是加分的。但过度的使用标签,就画蛇添足了。如“我说”的话,可以用q标签标注。
<p>哥写的不是HTML,是寂寞。
<p>我说:<br> <q>不要迷恋哥,哥只是一个传说</q>
我觉得这就够了,如果再进一步,“我”用cite标注,“HTML” 用abbr或acronym标注(至于再讨论abbr和acronym的区别就太较真了),也OK。再复杂就没必要了。
<p> 哥写的不是<abbr title=”Hyper Text Markup Language”>HTML</abbr>,是寂寞。
<p><cite> 我</cite>说:<br> <q>不要迷恋哥,哥只是一个传说</q>
本文只是为了提示实战中注意细节和风格,养成统一的规约和习惯。无论何种编程语言,养成一种编程规约和风格习惯,都能给你省很多麻烦,还能节约时间。
|
最新内容
相关内容
python如何使输出换行
python如何使输出换行,培训,结果,两个,方法,引号,函数,同行,以上,时候,方式,python的print()函数输出时,通常输出结果是整行显示出来的,这时候python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python支持多继承吗
python支持多继承吗,培训,代码,不了,上边,函数,属性,例子,父亲,定义,母亲,python多继承单继承有时候可能满足不了我们所需的所以我们就会遇到python怎么不换行输出
python怎么不换行输出,培训,灵活,函数,对象,空格,结尾,字符,结束,复数,字符串,python中输出主要是使用print()函数。Python2和Python3中的函python怎么输出换行符
python怎么输出换行符,代码,培训,情况,结果,括号,末尾,空格,方法,python中一般是一行写完所有代码,如果遇到一行写不完需要换行的情况,有两种python如何输出质数
python如何输出质数,数字,代码,培训,质数,情况,自然数,不是,循环体,素数,用户, python输出质数的方法:质数(Primenumber),又称素数,指在大pythonc语言取余和python取余的区
pythonc语言取余和python取余的区别,培训,资料,语言,负数,区别,被除数,符号,除数,规定,余数,今天看书发现python与C的负数取余运算结果不同,pythonPython里有死循环吗?
pythonPython里有死循环吗?,培训,对比,方法,道理,以上,代表,程序,更多,内容,何为死循环?在编程中,一个无法靠自身的控制终止的循环被称为死循python怎么打印输出
python怎么打印输出,培训,数据,庞大,代码,变量,函数,语句,片段,文本,内存,print()函数python3中最重要的更改之一就是将print转变为函数,在pytpython输出如何不换行?
python输出如何不换行?,灵活,培训,函数,对象,方法,空格,结尾,字符,下面,结束,python输出不换行的方法:我们在使用print()函数时,并不希望输出结python3.X输出怎么不换行
python3.X输出怎么不换行,培训,灵活,函数,对象,空格,结尾,字符,下面,形式,结束,python3.0的print函数有如下的形式:print([object,...][,seq=]python怎么抛出异常信息
python怎么抛出异常信息,异常,代码,信息,基础,检测,培训,语句,发生,程序,除数,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行