html

作者: 毕子歌 | 来源:发表于2018-10-14 17:16 被阅读0次

html5有哪些新特性,移除了那些元素?

新特性:

  1. 语义化更好的内容标签(header,nav,footer,aside,article,section)
  2. 拖拽释放(Drag and drop) API
  3. 音频、视频API(audio,video)
  4. 画布(Canvas) API
  5. 地理(Geolocation) API
  6. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;sessionStorage 的数据在浏览器关闭后自动删除
  7. 表单控件,calendar、date、time、email、url、search
  8. 新的技术webworker, websocket, Geolocation

移除的元素:

  1. 纯表现的元素:basefont,big,center,font, s,strike,tt,u;
  2. 对可用性产生负面影响的元素:frame,frameset,noframes;

你是如何理解 HTML 语义化的?语义化的好处?

根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。

语义化的好处:

  1. 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;
  2. 用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用;
  3. 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
  4. 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
  5. 便于团队开发和维护,语义化更具可读性,是下一步网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

常见的语义化标签及其作用:

  • <title>:页面主体内容。
    <hn>:h1~h6,分级标题,<h1> 与 <title> 协调有利于搜索引擎优化。
    <ul>:无序列表。
    <li>:有序列表。
    <header>:页眉通常包括网站标志、主导航、全站链接以及搜索框。
    <nav>:标记导航,仅对文档中重要的链接群使用。
    <main>:页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
    <article>:定义外部的内容,其中的内容独立于文档的其余部分。
    <section>:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
    <aside>:定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。
    <footer>:页脚,只有当父级是body时,才是整个页面的页脚。
    <small>:呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。
    <strong>:和 em 标签一样,用于强调文本,但它强调的程度更强一些。
    <em>:将其中的文本表示为强调的内容,表现为斜体。
    <mark>:使用黄色突出显示部分文本。
    <figure>:规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。
    <figcaption>:定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。
    <cite>:表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。
    <blockquoto>:定义块引用,块引用拥有它们自己的空间。
    <q>:短的引述(跨浏览器问题,尽量避免使用)。
    <time>:datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。
    <abbr>:简称或缩写。
    <dfn>:定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。
    <address>:作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。
    <del>:移除的内容。
    <ins>:添加的内容。
    <code>:标记代码。
    <meter>:定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签)
    <progress>:定义运行中的进度(进程)。

Doctype作用?

<!DOCTYPE>声明叫做文件类型定义(DTD)。<!DOCTYPE>声明必须在 HTML 文档的第一行,这并不是一个 HTML 标签。告诉浏览器使用哪个版本的HTML规范来渲染文档。DOCTYPE不存在或形式不正确会导致HTML文档以混杂模式呈现。
标准模式(Standards mode)以浏览器支持的最高标准运行;混杂模式(Quirks mode)中页面是一种比较宽松的向后兼容的方式显示。
HTML5的声明<!DOCTYPE html>。HTML5 没有 DTD ,因此也就没有严格模式与混杂模式的区别,HTML5 有相对宽松的语法,实现时,已经尽可能大的实现了向后兼容。( HTML5 没有严格和混杂之分)


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

行内元素:a span img input select
块级元素:div ul ol li dl dt dd h1 p
空元素:<br> <hr> <link> <meta>


页面导入样式时,使用link和@import有什么区别?

二者都是外部引用CSS的方式
不同点:

  1. link是xhtml标签,除了加载css外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS
    link引用CSS时候,页面载入时同时加载;@import需要在页面完全加载以后加载,而且@import被引用的CSS会等到引用它的CSS文件被加载完才加载
  2. link是xhtml标签,无兼容问题;@import是在css2.1提出来的,低版本的浏览器不支持
  3. link支持使用javascript控制去改变样式,而@import不支持
  4. link方式的样式的权重高于@import的权重
  5. import在html使用时候需要<style type="text/css">标签

HTML5的文件离线储存怎么使用,工作原理是什么?

在线情况下,浏览器发现HTML头部有manifest属性,它会请求manifest文件,如果是第一次访问,那么浏览器就会根据manifest文件的内容下载相应的资源,并进行离线存储。如果已经访问过并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面。然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不会做任何操作,如果文件改变了,那么就会重新下载文件中的资源,并且进行离线存储。例如,

在页面头部加入manifest属性

<html manifest='cache.manifest'>

在cache.manifest文件中编写离线存储的资源

CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
Resourse/logo.png
FALLBACK:
//offline.html


cookies,sessionStorage和localStorage的区别?

共同点:都是保存在浏览器端,且是同源的。
区别:

  1. cookies是为了标识用户身份而存储在用户本地终端上的数据,始终在同源http请求中携带,即cookies在浏览器和服务器间来回传递,而sessionstorage和localstorage不会自动把数据发给服务器,仅在本地保存。
    存储大小的限制不同。cookie保存的数据很小,不能超过4k,而sessionstorage和localstorage保存的数据大,可达到5M。
  2. 数据的有效期不同。cookie在设置的cookie过期时间之前一直有效,即使窗口或者浏览器关闭。sessionstorage仅在浏览器窗口关闭之前有效。localstorage始终有效,窗口和浏览器关闭也一直保存,用作长久数据保存。
  3. 作用域不同。cookie在所有的同源窗口都是共享;sessionstorage不在不同的浏览器共享,即使同一页面;localstorage在所有同源窗口都是共享

页面可见性(Page Visibility)API 可以有哪些用途?

  1. 通过visibility state的值得检测页面当前是否可见,以及打开网页的时间。
  2. 在页面被切换到其他后台进程时,自动暂停音乐或视频的播放。

Document.hidden(只读)
返回布尔值,表示页面是(true)否(false)隐藏。如果页面处于被认为是对用户隐藏状态时返回true,否则返回false。
Document.visibilityState(只读)
返回document的可见性, 即当前可见元素的上下文环境. 由此可以知道当前文档(即为页面)是在背后, 或是不可见的隐藏的标签页,或者(正在)预渲染.可用的值如下:

  • visible : 页面内容至少是部分可见。 在实际中,这意味着页面是非最小化窗口的前景选项卡。
  • hidden : 页面内容对用户不可见。 在实际中,这意味着文档可以是一个后台标签,或是最小化窗口的一部分,或是在操作系统锁屏激活的状态下。
  • prerender : 页面内容正在被预渲染且对用户是不可见的(被document.hidden当做隐藏). 文档可能初始状态为prerender,但绝不会从其它值转为该值。 注释:浏览器支持是可选的。
  • unloaded : 页面正在从内存中卸载。 注释:浏览器支持是可选的。

Document.onvisibilitychange EventListener提供在visibilitychange事件被触发时调用的代码


如何实现浏览器内多个标签页之间的通信?

  1. WebSocket 和 SharedWorker
  2. 也可以调用 localstorge、cookies 等本地存储方式。 localstorge 在另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,我们通过监听事件,控制它的值来进行页面信息通信。

iframe框架有那些优缺点?

优点:

  1. iframe能够原封不动的把嵌入的网页展现出来。
  2. 如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷。
  3. 网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用。
  4. 如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决。

缺点:

  1. 搜索引擎的检索程序无法解读这种页面,不利于SEO
  2. iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。
    框架结构中出现各种滚动条
  3. 使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好通过JavaScript动态给iframe添加src属性值,这样可以绕开以上两个问题。
  4. iframe会阻塞主页面的Onload事件;
  5. iframe页面会增加服务器的http请求

介绍一下你对浏览器内核的理解?

浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如标准通用标记语言下的一个应用HTML、JavaScript)并渲染(显示)网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。


以前端的角度出发做好SEO(Search Engine Optimization/搜索引擎优化)需要考虑什么?

  1. 了解搜索引擎如何抓取网页和如何索引网页。
  2. meta标签优化
    包括主题(title),网站描述(description),和关键字(keywords)。还有其它的隐藏文字如author(作者),category(目录),language(编码语种)等。
    meta元素可提供有关页面的元信息,如针对搜索引擎和更新频度的描述。
  3. 搜索就得用关键词。关键词分析和选择是SEO最重要的工作之一。首先给网站确定关键词(一般在5个上下),然后针对这些关键字进行优化,包括关键词密度(Density),相关度(Relavacy),突出性(Prominency)等等。
  4. 不同的搜索引擎对页面的抓取和索引、排序的规则都不一样。各搜索门户和搜索引擎的关系。

src与href的区别?

src(source)指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档中,如js脚本,img图片和iframe等元素。
当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,类似于将所指向资源嵌入当前标签内。
href(hypertext reference/超文本引用)指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加<link href="common.css" rel="stylesheet"/>那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也就是为什么建议使用link方式加载css而不是使用@import方式。

相关文章

  • 基础编程语言学习线路图

    HTML HTML教程HTML简介HTML编辑器HTML基础HTML元素HTML属性 HTML标题HTML段落HT...

  • HTML头部-10

    HTML 元素 HTML 元素 HTML 元素 HTML 元素 HTML 元素 HTML ...

  • html 大纲

    html 通用 html 简介 html 常用标签 html 属性 html 表格 html 字体 html 表单...

  • web 前端学习线路图

    一、HTML 教程 HTML教程HTML简介HTML编辑器HTML基础HTML元素HTML属性 HTML标题HTM...

  • 2018-06-04——HTML简介

    HTML 简介 HTML 标签 ·HTML 标记标签通常被称为 HTML 标签 (HTML tag)。 ·HTML...

  • HTML 基础

    HTML 标题 HTML 段落 HTML 链接 HTML 图像 HTML 文本格式化标签 HTML ...

  • html常用的基本标签

    HTML基础包括web工作原理,HTML概述,HTML基本标签和HTML高级标签。 〈html〉...〈/html...

  • Html 学习笔记

    HTML基础 HTML 标签 HTML 标记标签通常被称为 HTML 标签 (HTML tag) HTML 标签通...

  • HTML:基础(2)元素

    HTML 元素 HTML 文档由 HTML 元素定义。 HTML 元素语法 HTML 元素以开始标签起始 HTML...

  • 2018-10-29 第二阶段 day1 htm

    1.html说明 说明html版本html5-- ...

网友评论

      本文标题:html

      本文链接:https://www.haomeiwen.com/subject/phvbuftx.html