HTML你应该知道的事儿

HMTL , XML , XHTML的区别

  • HTML (HyperTetx Markup Language) 是一种用于创建网页的标准标记语言,网页浏览器可以可以读HTML文件,并将其渲染成可视化网页,HTML语言用来表现数据,旨在显示数据,其焦点是数据的外观。
  • XML (Extension Markup Language) 被广泛用来作为跨平台之间交互数据的形式,主要针对数据的内容,通过不同的格式化描述手段可以完成最终的形式表达,设计用来传送及携带数据信息,不用来表现或展示数据,XML用途的焦点是它说明数据是什么,以及携带数据信息。
  • XHTML(Extensible HyperText Markup Language)是一种标记语言表现方式与超文本标记语言类似,不过语法上更加严格。XHTML主要是因为HTML的语法规则过于松散,对于机器来说语言越松散,处理起来就越困难,因此才产生了语法要求更为严格的XHTML,它包含了所有与 XML 语法结合的 HTML 4.01 元素。

怎样理解HTML语义化

语义化HTML是一种编写HTML的方式,它强调编码信息的含义在其格式(样子)之上,选择合适的标签、使用合理的代码结构,便于开发者阅读,同时让浏览器的爬虫和机器很好地解析,好的语义化HTML也改善了网页文档的可访问性。


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

从大原则上来说,内容与样式的分离可以使得代码松散耦合,避免某个部分过分依赖另外一个部分,耦合过紧,难于维护。

  1. 写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容。之后再去写样式。
  2. 尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化
  3. HTML 内不允许出现属性样式,尽量不要出现行内样式

文档声明的作用,严格模式和混杂模式指什么, 的作用

  • 文档声明它是指示 web 浏览器,这个页面文档使用的是哪个 HTML(或是XML) 版本进行编写的指令,需要注意的是不是一个标签。
  • 不同文档模式主要影响CSS内容的呈现,尤其是浏览器对盒模型的解析,但在某些情况下也会影响到JavaScript的解释执行。混杂模式是一种比较宽松的向后兼容的模式,混杂模式通常模拟老式浏览器的行为,以防止老站点无法工作。标准模式是浏览器使用W3C的标准解析渲染页面。

浏览器乱码的原因是什么,如何解决

浏览器乱码的根本原因在于浏览器对html文本的解码和编写html文本时候的编码并不匹配造成的。那么解决这个问题的方法也就是在编写html文件是规定好文档的格式是什么,比如你希望浏览器用utf-8来解码,那么你应该在html的头部声明,内核 浏览器名称 Trident IE, 国内某些双核浏览器的内核之一 Gecko 以前的Netscape, 如今的 Mozilla Firefox Webkit Chrome, safari Blink (Webkit的一个分支,由google和opera研发) 2013年之后的Chrome, Opera, 以及360浏览器等双核浏览器内核之一 Presto 2013年以前的Opera


常见的meta标签

元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。

申明编码
浏览器内核控制:国内浏览器很多都是双内核(webkit和Trident),webkit内核高速浏览,IE内核兼容网页和旧版网站。而添加meta标签的网站可以控制浏览器选择何种内核渲染
优先使用 IE 最新版本和 Chrome
页面关键词,每个网页应具有描述该页内容的一组唯一的关键字。使用人们可能会搜索,并准确描述网页上所提供信息的描述性和代表性关键字及短语。标记内容太短,则搜索引擎可能不会认为这些内容相关。另外标记不应超过 874 个字符
页面描述,每个网页都应有一个不超过 150 个字符且能准确反映网页内容的描述标签
页面重定向和刷新:content内的数字代表时间(秒),既多少时间后刷新。如果加url,则会重定向到指定网页(搜索引擎能够自动检测,也很容易被引擎视作误导而受到惩罚)

知乎上的meta总结


常见的标签

标签名 用途
文档元素,定义了整个 HTML 文档,
所有头部元素的容器,可包含脚本,指示浏览器在何处可以找到样式表,提供元信息,等等
HTML 文档的主体

...
1~6级标题

段落
链接到一个地址,页面或者是地址锚
链接一个图片
语义为“一大块”,用于给页面划分区块,让结构更清晰
  • 无序列表
    1. 有序列表
      自定义列表
      按钮
      用来表示强调突出,强调的程度次于,则是程度最低的,用来标记一段文字中需要单独使用css的字段