HTML知识点整理

1、什么是HTML?HTML、XML、XHTML 有什么区别?

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

HTML 文档 = 网页

  • HTML 文档描述网页
  • HTML 文档包含 HTML 标签和纯文本
  • HTML 文档也被称为网页

Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。

HTML是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写、编码不规范而且很多地方模糊不清。

实际上,网页的终极标记语言应该是XML(Extensible Markup Language),可扩展标记语言。XML是一种跨平台语言,编码更自由,可以自由创建标签。但XML结构复杂,语法严谨,学习起来相对现行的HTML也比较困难,尤其在早期标准不统一的年代,XML没法立即铺开。

于是,W3C想出一个折衷的办法,就是XHTML(Extensible Hyper Text Markup Language),可扩展超文本标记语,扩展的HTML。也就是适当地、逐步地向HTML加入XML的标准。XHTML即是升级版的HTML,对HTML进行了规范,编码更加严谨纯洁,是一种过渡语言,HTML向XML过渡的语言。

2、怎样理解 HTML 语义化。

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

语义化的优点:

  • 有利于SEO,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重。
  • 语义化的HTML在没有CSS的情况下也能呈现较好的内容结构与代码结构
  • 方便其他设备的解析
  • 便于团队开发和维护

若想要做到html语义化,则网页的开发者应该要做到熟悉所有规范的HTML标签的使用场景,在合适的地方使用合适的标签。如:

  • 尽量少用<div>和<span>这两个标签,因为代码中使用的标签<div>和<span>是在所有的HTML标签中最没有语义的,在使用这两个标签时尽量能找到更有语义的标签代替;
  • 和标签语义化的重要性一样,某些属性的设置也是HTML语义化重要的环节。例如,在img标签中,alt是必须要设置的属性,因为img是自闭合标签,并没有包含可以解释说明图片的额外信息。alt属性的文字说明是当图片在浏览器中未加载时的显示的代替。

3、怎样理解内容与样式分离的原则。

一个网页可以简单的分为三个部分:HTML——结构,CSS——表现,JavaScrip——行为。内容和样式的分离,就是指在网页编码的过程中,要将HTML和CSS两大部分分开。写HTML的时候先不管样式,重点放在HTML的结构和语义化上,让HTML能体现页面结构和内容;然后进行 CSS 样式的编写,减少 HTML 与 CSS 契合度(即内容与样式分离) ;写JS的时候,尽量不要用JS去直接操作样式,而是通过给元素添加删除class来控制样式变化(即行为分离)。

样式与结构分离的优点:

  • 浏览器加载网页页面速度变快。分离原则下,页面样式的代码写在了CSS当中,页面体积容量变得更小。
  • 修改网页样式时,更有效率、更省时间。根据html标签内ID或class的标记,到CSS里找到相应的ID或class,可以快速替换指定位置的样式,不会破坏页面架构和其他部分的样式。
  • 可以确保网页都能平稳退化。具备CSS支持的浏览器固然可以把网页呈现的美轮美奂,不支持或禁用了CSS功能的浏览器同样可以把网页的内容按照正确的内容结构显示出来。

4、文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?

文档声明的作用是告知浏览器页面使用的HTML版本;严格模式又叫标准模式,使页面按照 HTML 与 CSS 的定义渲染。混杂模式,又叫怪异模式,以比较宽松的向后兼容的方式呈现,模拟老式浏览器以兼容老的站点;<!doctype html> 的作用是告诉浏览器开启标准模式,开启标准模式后浏览器就得老老实实的按照W3C的 标准解析渲染页面,这样一来,你的页面在所有的浏览器里显示的就都是一个样子了。

5、浏览器乱码的原因是什么?如何解决

通用的编码方式:

  • ASCII,全称美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 针对英语设计。
  • utf-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。可用于显示中文简体繁体及其它语言(如英文,日文,韩文)。
  • GBK,中国制定的一套汉字编码规则,用2个字节来表示一个汉字,总共可以覆盖2万多个文字。
  • ISOLatin-1,由于ASCII字符集不包括德、法语中的特殊拉丁字符,因此欧洲人发明了ISO 8859-1Latin 1,简称为ISOLatin-1。它对ASCII做了个扩充,涵盖拉丁字母表中特殊语言字符。

乱码原因:使用编辑器编写 HTML 文件,保存编写的HTML文件,会按照使用的编辑器默认的编码方式进行保存,使用浏览器打开HTML文件。在没有声明的情况下,浏览器并不知道你的这个文件是使用什么编码方式,于是会使用了默认解码方式。例如文件保存为GBK格式,在Chrome打开时默认使用 ISO -8859的解码方式,就会导致编码和解码不匹配,产生乱码。 解决方法:在文件保存的时候,自己要清楚是用哪种编码方式保存的(sublime默认保存方式是utf-8,安装了GBK Encoding support插件也可另存为gbk)。如果你的文件是保存为utf-8格式,在html 的 <head>里添加<meta charset="utf-8">;如果你的文件保存为gbk格式,一定在文件里添加<meta charset="gbk">,对浏览器进行说明,直接按照声明的编码方式进行解析读取,就不会有乱码问题。

6、有哪些常见的meta标签。

<meta charset="utf-8">
编码方式
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
双核浏览器
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
用于移动端的展示合理
<meta name="keywords" content="前端 饥人谷">  网页关键字,利于搜索
<meta name="description" content="最有爱的前端学习社区">
搜索引擎优化
<meta name="keywords" content=""> 
向搜索引擎说明你的网页的关键词  
<meta name="description" content=""> 
告诉搜索引擎你的站点的主要内容  
<meta name="author" content="你的姓名"> 
告诉搜索引擎你的站点的制作的作者  
<meta http-equiv="Content-Type" content="text/html";charset=utf-8"> 
指定字符集  
<meta http-equiv="refresh" content="n;url="> 
定时让网页在指定的时间n内跳转  
<meta http-equiv="pragma" content="no-cache"> 
禁用缓存  
<meta http-equiv="set-cookie" content="Mon,12 May 2001 00:20:00 GMT"> 
cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式

7.常见的浏览器有哪些,什么内核

浏览器

内核

Internet Explorer

IE内核

Firefox

Gecko

Opear

Presto

Safair&Chromr

Webkit

国内大部分浏览器

IE内核

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术墨客

React Web组件

从概念上说,React 和 Web组件 分别用于解决不同的问题。Web组件提供了强大的封装特性来支持其可重复使用性,而React提供了一系列声明性(declar...

842
来自专栏编程

如何构建你的第一个 Vue.js 组件

协作翻译 原文:How to build your first Vue.js component 链接:https://medium.freecodecamp....

2815
来自专栏DeveWork

WordPress 中获取文章的第一段文字的函数

之前写过一篇《WordPress 文章截断方式:有more标签的优先more标签,否则截断一定字数》,自认为是一个不错的首页文章截取方式,但如今Jeff 又发现...

2035
来自专栏cnblogs

Vuex原来可以这样上手

     在Mvc模式大行其道的今天,后端通过各种Mvc框架实现视图与数据模型的隔离,而前端这方面也发展迅速。vue实现了Dom与viewModel双向绑定,使...

2085
来自专栏進无尽的文章

Java工具篇| Eclipse 常用快捷键

古人云:工欲善其事,必先利其器。快键键作为开发中及其常用的节省开发时间提升效率的方式之一,其重要性不言而喻,也许你可以不使用它,但是当你熟练使用、巧妙使用这些快...

1142
来自专栏偏前端工程师的驿站

Asp.net页面生命周期

前言                                      本篇记录的是Asp.net页面生命周期,也就是管道模型的最末端HttpHandl...

2718
来自专栏技术墨客

React学习(11)—— 高阶应用:Web组件

从概念上说,React 和 Web组件 分别用于解决不同的问题。Web组件提供了强大的封装特性来支持其可重复使用性,而React提供了一系列声明性(declar...

842
来自专栏小狼的世界

Vimperator:玩酷你的Firefox

First there was a Navigator, then there was an Explorer. Later it was time for a...

1264
来自专栏Ryan Miao

idea快捷键总结

使用好快捷键会快很多,这里我慢慢添加我用习惯的快捷键。参考 1.alt+enter 这个几乎万能,有错误提示的时候将光标移动到错误处,然后alt+enter,会...

28912
来自专栏码云1024

Jupyter Notebook

4038

扫码关注云+社区

领取腾讯云代金券