面试经(HTML-基础篇)

113 阅读6分钟

什么是HTML

    超文本标记语言(Hyper Text Markup Language)。是用来描述网页的一种标记语言。注意,它不是编程语言,是标记语言。

什么是URL

    统一资源定位符(Uniform Resource Locator)。是一个给定的独特资源在 Web 上的地址。理论上说,每个有效的 URL 都指向一个唯一的资源。这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像,等等。

URL的组成

    通常由以下部分组成。
协议 + 域名/IP地址 [+ 端口号(条件可选)] + 资源路径 [+ 参数] [+ 锚点] mdn-url-all.png

  • scheme:协议。表明浏览器必须使用何种协议。通常都是 HTTP 协议或是 HTTP 协议的安全版,即 HTTPS。Web 需要它们二者之一,但浏览器也知道如何处理其他协议,比如 mailto:(打开邮件客户端)或者 ftp:(处理文件传输)。
  • 域名/IP地址:表明正在请求哪个 Web 服务器。或者,可以直接使用IP address,但是因为它不太方便,所以它不经常在网络上使用。
  • 端口号:表示用于访问 Web 服务器上的资源的技术“门”。如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为 80,HTTPS 为 443)来授予其资源的访问权限,则通常会被忽略。否则是强制性的。
  • 资源路径:网络服务器上的资源路径。在 Web 早期阶段,通常表示资源在服务器上的物理文件位置。在现在的网络技术中,通常表示没有任何物理现实的 Web 服务器处理的抽象。
  • 参数:可选项。是提供给网络服务器的额外参数。以 ? 衔接的 key/value 键值对列表,键值对间以 & 分割衔接,键与值以 = 分割衔接。同时,不同服务器有自己的一套参数规则,唯一的获知途径就是网站所有者告知。
  • 锚点:可选项。是资源文件中的一种“书签”。给定时,浏览器会显示到该“书签”的内容与方向。

什么是 DOCTYPE

    DoctypeHTML5 的文档声明,通过它可以告诉浏览器使用哪一个HTML版本标准解析文档。在浏览器发展的过程中,HTML出现过很多版本,不同的版本之间格式书写上略有差异。如果没有事先告诉浏览器,那么浏览器就不知道文档解析标准是什么?此时,大部分浏览器将开启最大兼容模式来解析网页,我们一般称为怪异模式,这不仅会降低解析效率,而且会在解析过程中产生一些难以预知的bug,所以文档声明是必须的。

常见 meta 元素有哪些

    <meta> 元素标签是提供有关 HTML 相关的元数据。它不会显示到页面上,但是能够被机器识别。

charset

    指明 HTML 文档的编码格式,常用有 utf-8

name & content

    指定元数据的名称与内容。这部分对 SEO 非常有用。

<!-- author——定义了页面的作者 -->
<meta name="author" content="Tony">

<!-- keywords——为搜索引擎提供关键字 -->
<meta name="keywords" content="HTML, CSS, JavaScript">

<!-- description——对网页整体的描述 -->
<meta name="description" content="My tutorials on HTML, CSS and JavaScript">

<!-- viewport——对页面视图相关进行定义 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minmum-scale=1.0">

<!-- theme-color——定义主题颜色 -->
<meta name="theme-color" content="#222">
http-equiv & content

    为内容属性的信息/值提供HTTP标头

<!-- refresh——每30s刷新一次文档 -->
<meta http-equiv="refresh" content="30">

<!-- Cache-Control——请求和响应遵循的缓存机制,可以声明缓存的内容,修改过期时间,可多次声明
     1. no-transform——不得对资源进行转换或转变。
     2. no-siteapp——禁止百度进行转码
-->
<meta http-equiv="Cache-Control" content="no-transform">
<meta http-equiv="Cache-Control" content="no-siteapp">

<!-- 可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。(GMT格式) -->
<meta http-equiv="expires" content="Wed, 20 Jun 2007 22:33:00 GMT"/>
property & content

    可以让网页成为一个富媒体对象,同意网页内容被其他网站引用,同时在引用时不会只是一个连接,会提取相应的信息展现给用户。

<meta property="og:type" content="website">
<meta property="og:url" content="https://zjgyb.github.io/index.html">
<meta property="og:site_name" content="tony's blog">

什么是HTML语义化?

    HTML标签语义化就是使用合理、正确的标签来展示内容。
语义化的优点

  • 有助于架构良好的 HTML 解构
  • 有利于 SEO
  • 有利于不同设备的解析(屏幕阅读器,盲人阅读器等)
  • 语义化更具可读性,有利于团队的开发、维护相应

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

行内元素

  • a
  • i
  • em
  • span
  • stong
  • label

块级元素

  • div
  • p
  • h1 h2 h3 h4 h5 h6
  • ul dl li ol
  • table

内联块状元素

  • img
  • input

空元素     没有元素内容和标记的元素就称为空元素,也称 自闭合 标签

  • img
  • input
  • hr br
  • meta
  • link

label标签有什么用?

    用来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点移动到与标签相关的表单控件上。示例如下。

<label for="Name">Number:</label>
<input type='text' name="Name" id="Name"/>

<label>Date:<input type="text" name="B"/></label>

h1与title的区别、b与strong的区别、i与em的区别?

  • title 表示网站的标题,一个页面只有一个。h1 表示文章的标题,有内置样式。
  • strongb 效果都是给文本加粗,strong 具有语义化,起到加重语气的效果,而 b 没有。
  • iem 都是斜体,i 没有实际含义,em 是用斜体表示强调的文本。

HTML 标签中的 src 和 href 有什么区别?

  • src:全称 source ,它通常用于img、video、audio、script元素,通过src指向请求外部资源的来源地址,指向的内容会嵌入到文档中当前标签所在位置,在请求src资源时,它会将资源下载并应用到文档内,比如说:js脚本、img图片、frame等元素。当浏览器解析到该元素时,会暂停其它资源下载,直到将该资源加载、编译、执行完毕。这也是为什么将js脚本放在底部而不是头部的原因。
  • href:全称 hyper reference ,意味着超链接,指向网络资源,当浏览器识别到它指向的⽂件时,就会并⾏下载资源,不会停⽌对当前⽂档的处理,通常用于a、link元素。

HTML5 有哪些新特性

  1. 新增语义化标签:nav、header、footer、aside、section、article
  2. 音频、视频标签:audio、video
  3. 数据存储:localStorage、sessionStorage
  4. canvas(画布)、Geolocation(地理定位)、websocket(通信协议)
  5. input标签新增属性:placeholder、autocomplete、autofocus、required
  6. history API (go、forward、back、pushstate)

input上传文件可以同时选择多个文件吗?怎么设置

    可以,通过给 input 标签设置 multiple 属性实现。

<input type="file" name="files" multiple/>

img 上 title 与 alt

  • title:当鼠标移动到元素上时显示title的内容
  • alt:全称 alternate,切换的意思,如果无法显示图像,浏览器将显示alt指定的内容

区别:
    一般当鼠标滑动到元素身上的时候显示 title ,而 alt 是img标签特有的属性,是图片内容的等价描述,用于图片无法加载时显示,这样用户还能看到关于丢失了什么东西的一些信息,相对来说比较友好。
参考文章