• web前端面试题附答案007-面试官问DOCTYPE声明你要注意啦


    一、面试官想考什么?

    大家都知道doctype声明是写在html文档最顶部的,这个声明告诉浏览器将以哪种规范或者哪个版本来解析你的html dom内容。而且HTML5以后呢,写法统一了。这里丝毫没有考点啊,面试中最容易中招的就是我们习以为常的东西,每天都接触的东西,但是却容易忽略的东西。其实很多原理性的东西倒还好,谁面试前不准备准备,使劲儿背一背,反正面试官看过原理代码的也不多,但这些基础东西却很容易让人发蒙。

    1. html>
    2. <html>
    3. <head>
    4. ......
    5. head>
    6. <body>
    7. ......
    8. body>
    9. html>

    二、为什么H5以后就单纯的写就可以了呢?

    声明不是一个 HTML 标签;它是用来告知 Web 浏览器页面使用了哪种 HTML 版本。

    在 HTML 4之前, 声明需引用 DTD (文档类型声明),因为 HTML 4之前 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。

    HTML5 不是基于 SGML,因此不要求引用 DTD。

    所以,这里你需要重点记住DTDSGML这两个词,做开发大家都是写代码,那怎么能比那些小low low 高级一些呢,当然是能够说出一些名词啦

    三、那么HTML4的时候,都有哪些声明呢?

    1. // HTML 4.01 Strict
    2. // 这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。
    3. HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    4. // HTML 4.01 Transitional
    5. // 这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。
    6. HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    7. // HTML 4.01 Frameset
    8. // 这个 DTD 与 HTML 4.01 Transitional 相同,但是允许使用框架集内容。
    9. HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    10. // XHTML 1.0 Strict
    11. // 这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
    12. html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    13. // XHTML 1.0 Transitional
    14. // 这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
    15. html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    16. // XHTML 1.0 Frameset
    17. // 这个 DTD 与 XHTML 1.0 Transitional 相同,但是允许使用框架集内容。
    18. html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    19. // XHTML 1.1
    20. // 这个 DTD 与 XHTML 1.0 Strict 相同,但是允许您添加模块(例如为东亚语言提供 ruby 支持)。
    21. html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

    大概是有7种,如上代码片段。是都要记下来吗?当然不是,着谁记得住啊。只要记住3个重点就可以了。严格模式(或者是标准模式,HTML 4.01 Strict)、兼容模式(HTML 4.01 Transitional)还有XTHML的时候的写法,而且你甚至不用给面试官说各种的写法,说出有这3种东西就行。

    四、面试官问这个问题你要小心啦!

    因为现在大家几乎都用HTML5标准了,一旦面试官问这个问题,那么这个公司可能是一个传统企业的技术团队,他们需要用到之前的技术来做前端页面。所以即便面试通过了,你要思考是否要去一个传统行业,做着旧技术,甚至他们可能还在大量的用着jquery,(禅道很多人都用过吧),还是希望去一个新的互联网公司,不断尝试新技术。

    五、严格模式和兼容模式有什么区别吗?

    既然气氛都烘托到这里了,你都来面试了,肯定逃不掉这两种模式的区别。其实现在很多人都用不到了,更别提区别了。但有一说一,你能说出来,对于你的工作经验表现还是有一定的作用的,也许你就是那个最靓的仔。毕竟公司都喜欢经验多的,阅历丰富的,最好还是工资低一点的。

    盒模型:严格模式获取的元素宽度就是width值

                    兼容模式更像display: flex-box  宽度 = width + padding + border

    兼容模式下可以给类似span这种行内元素设置width 和 height ,是不是很神奇

    兼容模式下我们非常喜欢的margin: 0 auto;会失效,是不是也很神奇。

    这里基本记住这3条也就可以啦

  • 相关阅读:
    巧用 API 网关构建大型应用体系架构
    Spring boot与Spring cloud 之间的关系
    问题:在额定电压500V以下的电路中,使用的各种用电设备,一般称为(_ _ _)用电设备 #媒体#媒体#媒体
    ESP32系列--第九篇 ADC的使用
    再次霸榜“AI界奥运会”MLPerf™,浪潮的AI硬实力如何?
    mysql数据库
    【数据结构 | 链表】leetcode 2. 两数相加
    算法进阶——字符串的排列
    如何制造更多的 major page fault
    【3d游戏开发】使用Babylonjs+Vue3搭建属于我们的小岛
  • 原文地址:https://blog.csdn.net/xingyu_qie/article/details/127126364