HTML基础

此篇收录前端面试题HTML基础部分(另一篇文章记录HTML5部分)


理论部分

HTML、 XML、 XHTML、 HTML5分别是什么

  • HTML
    • 超文本标记语言
    • 使用标记标签来描述网页
  • XML
    • 可扩展标记语言,类似于 HTML
    • 可以创建自己的元素(具有自我描述性)
    • 设计宗旨是传输数据,而不是显示数据,是一种简单的数据存储语言
    • 与HTML的区别:它XML描述数据并集中于数据的内容,HTML的设计目标是显示数据并集中于数据的外观
  • XHTML
    • 与HTML4.01几乎是相同的,是HTML4.01 向 HTML5 的过渡
    • 是一种更严格的HTML版本
    • 作为一种 XML 应用被重新定义的 HTML
  • HTML5简介(另一篇文章将会具体介绍)

    • 最新的HTML标准
    • 它的设计目的主要是为了在移动设备上支持多媒体
    • 添加了新的具有语义化的标签和新的语法特征
    • 在一定程度上替代flash
    • 能实现多媒体,简单3D,数据库,通信等更大更广层次的应用


浏览器内核, 目前主流的浏览器内核分别是什么

浏览器内核:渲染引擎
负责对网页语法的解析,并渲染网页。决定了浏览器如何呈现网页的内容以及页面的格式信息

主流浏览器内核:

  • IE: Trident,沿用到IE11,也被普遍称作”IE内核”。
  • Firefox:Gecko
  • Safari:Webkit
  • Opera:Blink (Presto已被废弃)
  • Chrome:Blink(之前也是Webkit内核)
  • 国内其他浏览器:一般采用了双内核,其中之一兼容模式为IE内核, 另一种是极速模式,360浏览器为IE+Webkit

    Blink内核和Webkit内核有什么区别:
    blink内核是由谷歌开发,chromium/chrome浏览器的内核,实际上也是由webkit衍生而来。
    此举欲降低Webkit即苹果在浏览器市场的影响力
    随着浏览器的发展,苹果的Webkit已经不能满足用户需求,同时也有碍浏览器技术的创新步伐。但是他也表示,谷歌自主研发Blink内核绝非易事,但是新内核将会提升整个开源网络生态系统的机能。谷歌做出此举之际,Mozilla与三星也达成合作协议开发“下一代”浏览器渲染引擎Servo。
    



对Web标准的理解

Web标准是标准制定机构W3C,为了能让web发展的更“健康”,降低开发难度和开发成本,开发者不必花许多精力在解决浏览器兼容性问题方面

Web标准
不是某一个标准,而是W3C制定的一系列标准,分为结构、表现和行为三部分

  1. 结构化标准语言(HTML和XML)

    • 更合理的语义化标签
    • 使用外链css和js脚本,达到结构与行为、结构与表现的分离,提高页面的渲染速度,更快地显示页面的内容。
    • 标签小写,闭合,不允许随意嵌套
    • ….
  2. 表现标准语言(CSS)

  3. 行为标准语言(ECMAScript 和 DOM)



对HTML语义化的理解

语义化:用正确的标签做正确的事情,网页能够更好的被机器理解,进而读取页面的信息

标签结构语义化好处

  1. 去掉样式能让页面结构呈现清晰
  2. 有益于SEO,爬虫、搜索引擎只注重语义标记
  3. 便于团队开发和维护


对结构与表现分离的理解:

并不是说,将HTML,CSS,JS代码单独放一个文件中,就叫分离,而是:HTML只负责结构,保证语义化,布局和元素的定位若能用CSS控制,就不要使HTML加入多余的代码,不要给HTML加入为了修改样式和元素定位的代码。类似的原理,JS也可以控制CSS样式,但如果不是必要的话尽量使用CSS来控制样式
(有些人会使用表现性标记,例如加空元素的方法,来控制页面元素定位)

结构表现分离的好处
1. 增加代码可读性
2. 利用CSS的重用,组合,继承等特性减少样式的代码量,样式结构上非常清晰
3. 页面视觉有变动只需要修改相应的CSS文件
4. 方便JS脚本编写,比如用JS控制标签的className来方便的改变元素的样式,而不是直接修改其具体样式


渐进增强、 优雅降级、 平稳退化、 向后兼容

  • 渐进增强

    对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。

  • 优雅降级

    一开始就构建完整的功能,然后再针对低版本浏览器进行兼容

区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

  • 向后兼容

    兼容低版本浏览器

  • 平稳退化

    访问者在他们的浏览器不支持JS的情况下仍能顺利浏览网页,某些功能无法使用,但基本操作仍能完成



HTML标签

HTML模板、头部各标签的意义?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>

</body>
</html>
  • !DOCTYPE
    告知浏览器使用哪种HTML或XHTML规范解析页面

  • lang属性
    文档的语言类型。en为English,zh为中文

  • meta
    提供有关页面的元信息。 meta标签的name属性有很多值,例如

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"/>
//对设备视口的设定
name="keywords" //文档关键词
name="description" //文档的内容描述
...
  • title
    文档的标题,对搜索引擎来说有很高的权重


Doctype作用? 严格模式与混杂模式如何区分? 它们有何意义?

  1. <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或XHTML 规范。
  2. 所谓的标准模式是指,浏览器按 W3C 标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。
  3. 触发方式:
    浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关, DTD 声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示。而混杂模式的触发可以通过在HTML文档开始不声明DTD,或者在DOCTYPE前加入XML声明l<?xml version=”1.0〃 encoding=”utf-8〃?>来实现。


title与h1的区别、 b与strong的区别、 i与em的区别 href 和src的区别

  • title与h1的区别
    title是网站的标题,能告诉搜索引擎和用户这个页面是关于什么主题和内容的网站,title的权重要高于h1
    h1是一篇文章的标题,面对用户,需要突出其视觉效果

  • b与strong的区别
    两者的样式效果均是加粗,但strong是语义化逻辑标签,加强字符的语气
    而b标签只是仅仅将字符变为粗体样式

  • i与em的区别
    均为斜体样式,区别与b与strong的区别一样,em具有语义化

  • href 和src的区别
    src用于替换当前元素,外部文件的引入,解析到该元素时会等此元素加载完毕再继续向下解析,例如script,img
    href用于在当前文档和引用资源之间确立联系。外部资源的引用,解析到该元素时页面不会暂停解析, 例如link,a

    src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。
    当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。



行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

块、行级元素就不写啦,相信敲过代码的同学都知道~

空元素

<br>  //换行
<hr>  //分隔线
<input>  //文本框等
<img>  //图片



Label的作用是什么?(加 for 或 包裹)

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。在 label 元素内点击文本,浏览器就会自动将焦点转到与label标签的 for 属性与相关元素的 id 属性相同的表单控件上。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值