HTML初识

感觉今天有点慌乱。

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

distingush

下面从几个方面来比较一下。


  • HTML:HyperText Markup Language

扩展性:不支持扩展。

侧重点:侧重于如何表现信息

语法要求:html语言语法要求不严格,但由于先实践后制定标准,支持的浏览器较多,不能一下推翻重来。

可读性:html可读性较差,不利于维护。

数据和显示关系:内容描述和显示整合唯一,网络数据的描述和转换方面不如XML


  • XML:Extensible Markup Language

扩展性:支持扩展,可定义新的语言。

侧重点:如何结构化的描述信息。

语法要求:较为严格,严格要求嵌套、配对、遵循DTD树形结构
可读性:xml可读性好,利于维护。
数据和显示关系:内容描述和显示分离。常用于网络数据的描述和转换


** 既然XML这么好,为什么还在用HTML? **

那是因为HTML先使用再制定的标准,然后废除HTML的代价是很多网站都要重做。


  • XHTML:
    基于XML的标记语言。

本质上是一个过渡品,实现HTML向XML过渡。它结合部分XML的强大功能和大多数HTML简单特性,语言要求规范严格,算是更严谨更纯净的HTML,大多数浏览器也支持。


参考:http://wenda.so.com/q/1398092980061230?src=110

2. 怎样理解语义化

语义化在我的理解就是用正确的标签做正确的事情,即根据内容结构选择合适的标签。

暂时想到的:

  1. 对于文章标题可以用专门的<hx>标签来写,当然你也可以用其他标签例如<strong>、<em>等标签来实现。
  2. 邮箱地址等。

语义化好处:

  • 便于搜索引擎及爬虫工具更容易读懂页面代码。爬虫依赖的是标签的权重值,不会关注页面本身。
  • 便于屏幕阅读器读懂,就类似于读句子和读单词的区别。
  • 便于开发者开发和维护,阅读者阅读源代码。

以后写代码要注意的事
能不写<div>就不写,因为它也是无意义的。

对于id等其他类命名的时候多用合理的语言解释。这应该也是语义化吧?

参考:http://www.jianshu.com/p/55a7e598957f

3.怎样理解样式分离

html负责结构,CSS负责样式,JS负责行为

样式分离我的低级理解就是,在写HTML结构的时候,不要加样式,样式通过外部式样式link到网页结构中去,更要避免内联式CSS。类似于设计框架结构的房屋的时候,先做梁、柱,基础。其他的墙怎么砌,怎么装修完全等框架搭建好再做。

分离的好处

结构清晰,便于开发和维护。如果整体布局不变,只替换CSS效果就可以实现,节省很多时间。

4.常见的<meta>标签有哪些?

<meta>标签定义与文章想关联的名称/值

基本用法:<meta name=" " content=" ">

常见的标签:

  • <meta charset='utf-8'>//字符编码为UTF-8.
  • <meta http-equiv='X-UA-Compatible' content='iE=edge,chrome=1'>//告知浏览器用新版本的IE和CHROME来渲染页面
  • <meta name='viewport' content='width=device-width,initial-scale=1'>//经常用在移动端开发要用的,具体是告诉浏览器,窗口宽度=浏览器宽度,初始缩放比例是100%,禁止用户放大。

5.文档声明的作用?严格模式和混杂模式指的是什么?<!DOCTYPE HTML>的作用。

  • 文档声明的作用?

    文档声明的作用是让浏览器知道这是一个什么样的文档类型,从而能够切换到合适的显示模式来正确显示文档内容。

  • 严格模式和混杂模式指的是什么?

    • 严格模式:
      浏览器会严格按照HTML标准和CSS标准解析和渲染。
    • 混杂模式:
      浏览器模拟Navigator4和IE5的非标准行为来解析,渲染页面为了兼容在W3C标准出现之前存在的不标准页面。
  • `<!DOCTYPE HTML>的作用
    让浏览器进入标准模式,告诉浏览器这是HTML5的标准文件。

6. 浏览器乱码的原因是什么

首先,我们先大概理解我们当我们写一个HTML时和编码有关的内容。

  1. 写HTML文档时,首先文档声明,接着<meta>标签一般就要声明用的是什么字符集编码
  2. 保存时可以选择编辑的字符集编码。
  3. 浏览器解析时也会用到字符集编码。

那么出现问题的可能就有如下几种情况

  1. 保存使用的字符集编码和<meta>标签的字符集编码有冲突。
  2. 浏览器解码出现问题。浏览器解码优先级如下:
    2.1 如果用户指定了编码,则按用户指定的编码进行解码。
    2.2 先对文件进行预解析,如果文件存在BOM(BYTE ORDER MARK),则按BOM确定的编码解码。
    2.3 如果HTTP响应头中存在编码信息,则按响应头中的编码进行解码。
    2.4 先按浏览器的编码选择算法选择一个编码进行预解析,如果解析处<meta>标签存在字符集设置,则按<meta>标签的字符集进行解码。
    2.5 按浏览器的默认编码。

这就让我突然想起为什么编写HTML文件要把<meta>尽可能早的地方,因为浏览器缓存的字节流就可以让它来确定用什么来解码

7. 常见的浏览器有那些,用什么内核?

  1. Trident(MSHTML)
    微软开发,只能用于Windows平台

曾经几乎与W3C脱节,尽管已经做了变动,但是仍然落后与 Gecko,WebCore,KHTMLI及Presto。

(MAXTHON/软媒的闪游浏览器/腾讯的TT/GreenBrowser)

  1. Gecko
    代码完全公开,跨多平台

(火狐/网景6-9/等)

  1. Presto
    渲染速度优化达到了极致,浏览速度最快,执行JS速度很快,但是兼容性不好。

    (Opera)

  2. WebKit

开放源代码。

(Safari/chrome)

8. 常见标签有那些?

  • <head></head>//用于文档的头部,描述文档的属性和信息,通常不可见。
  • <title></title> //网页标题
  • <meta></meta>//定义与文章相关的名称和值
  • <style></style>//写样式
  • <body></body>//内容标签,构成网页的“身体”。
  • <hx></hx>//文章标题
  • <p></p>//段落
  • <strong><strong>//强调
  • <em></em>//强调
  • <div></div>//盒子标签,常用来布局
  • <ul><li></li></ul>//无序列表
  • <ol><li></li><ol>//有序列表
  • <img/>//插入图片
  • <form></form>//表单,与用户交互时常用到。
  • <code></code>//插入代码用的
  • <br/>//换行,<hr/>分隔线
  • <table><table>//表格

暂时先写这么多吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、HTML、XML、XHTML 有什么区别? 1)HTML,超文本标记语言,是语法较为松散的、不严格的Web语言...
    大胡子歌歌阅读 2,675评论 0 1
  • HTML、XML、XHTML的区别 1.HTML:超文本标记语言(HyperText Markup Languag...
    饥人谷_木头先生爱喝水阅读 3,199评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139
  • 什么是HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言:HyperTextMark...
    年少懵懂丶流年梦阅读 2,649评论 0 1
  • 网页的乱码问题主要是html的内容与浏览器中的编码不一致导致的。主要问题是出在非英文的语言字符上。要使网页不产生乱...
    饥人谷_wanpp阅读 3,523评论 0 48