Web前端与移动开发基础教程之HTML&CSS

学习目标

目标:能根据PSD文件,用HTML+CSS布局出符合W3C规范的网页。

学习安排

前端与移动开发基础班课程大纲.jpg

1. HTML 预热目标



能够写出基本的html页面(里面包含图片、链接、文字等网页元素标签)
主体思路

1.1. 认识WEB

1.1.1. 认识网页

网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。

注:思考: 网页是如何形成的呢?

网页如何形成

总结: 网页有图片、链接、文字等元素组成,我们后面的任务就是要把这部分网页元素用代码写出来。

1.1.2. 浏览器(显示代码)

浏览器是网页显示、运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。

常见的浏览器

可能你最熟悉的是 IE浏览器,但是。。。


浏览器的反应速度

1.1.2.1 浏览器内核介绍

(1)查看浏览器占有的市场份额: https://tongji.baidu.com/research/site?source=index(百度统计浏览器市场份额)

浏览器市场份额

(2)浏览器内核: 英文叫做:Rendering Engine,中文翻译很多,排版引擎、解释引擎、渲染引擎,现在流行称为浏览器内核。负责读取网页内容,整理讯息,计算网页的显示方式并显示页面.

注:主流浏览器及其内核:

浏览器 内核 备注
IE Trident IE、猎豹安全、360极速浏览器、百度浏览器
firefox Gecko 可惜这几年已经没落了,打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。
Safari webkit 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了)。
chrome Chromium/Blink 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。大部分国产浏览器最新版都采用Blink内核。二次开发
Opera blink 现在跟随chrome用blink内核。

拓展阅读:
移动端的浏览器内核主要说的是系统内置浏览器的内核。
Android手机而言,使用率最高的就是Webkit内核,大部分国产浏览器宣称的自己的内核,基本上也是属于webkit二次开发。
iOS以及WP7平台上,由于系统原因,系统大部分自带浏览器内核,一般是Safari或者IE内核Trident的

1.1.3. Web标准(重点)

目标

  • 记忆
    • 能说出网页中 web 标准三层组成(经典面试题)
  • 理解
    • 能结合人来表述web标准三层

Web标准不是某一个标准,而是由W3C组织和其他标准化组织制定的一系列标准的集合。
W3C 万维网联盟是国际最著名的标准化组织。1994年成立后,至今已发布近百项相关万维网的标准,对万维网发展做出了杰出的贡献。

1.1.3.1 为什么要遵循WEB标准呢?

通过以上不同浏览器,内核不同,我们知道他们显示页面或者排版就有些许差异。


为什么要遵循WEB标准

1.1.3.2 Web 标准的好处

遵循web标准可以让不同我们写的页面更标准更统一外,还有许多优点
让Web的发展前景更广阔
内容能被更广泛的设备访问
更容易被搜寻引擎搜索
降低网站流量费用
使网站更易于维护
提高页面浏览速度

1.1.3.3 Web 标准构成

(1)构成: 主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。

标准 说明 备注
结构 结构用于对网页元素进行整理和分类,主要学的是HTML。
表现 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS
行为 行为是指网页模型的定义及交互的编写,主要学的是 Javascript

理想状态我们的源码: .html.htm.css.js

1.1.4. 拓展

  • 介绍一下你对浏览器内核的理解?常见的浏览器内核有哪些?
    浏览器内核包括两部分,渲染引擎和js引擎。渲染引擎负责读取网页内容,整理讯息,计算网页的显示方式并显示页面,js引擎是解析执行js获取网页的动态效果。 后来js引擎越来越独立,内核就倾向于只指渲染引擎。
    深度阅读:五大主流浏览器内核的源起以及国内各大浏览器内核总结

2. 第一阶段 前端基础HTML

2.1. HTML 初识

学习目标

  • 理解
    • HTML的概念
    • HTML标签的分类
    • HTML标签的关系
    • HTML标签的语义化
  • 应用
    • HTML骨架格式
    • HTML编辑器基本使用

2.1.1 什么是HTML?

HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来创建网页的一种标准标记语言。

  • HTML 不是一种编程语言,而是一种标记语言 (markup language);
  • 标记语言是一套标记标签 (markup tag);
  • HTML 使用标记标签来描述网页;
  • HTML 文档包含了HTML 标签及文本内容;
  • HTML文档也叫做 web 页面。

注:html作用: 网页是由网页元素组成的 , 这些元素是利用html标签描述出来,然后通过浏览器解析,就可以显示给用户了。
所谓超文本,有2层含义:
【1】因为它可以加入图片、声音、动画、多媒体等内容(超越文本限制
【2】不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
举例:


门外汉眼中的效果页面

我们要做的html页面

html 总结:

  • html 是超文本标记(标签)语言;
  • 我们用html标签描述网页元素。 比如 图片标签 、文字标签、链接标签等;
  • 标签有自己的语法规范,所有的html标签都是用 <> 表示的。

2.1.2. HTML骨架标签

(1)HTML 有自己的语言语法骨架格式:


   
         
        
    
    
    

(2)HTML骨架标签总结

标签名 定义 说明
声明为HTML5文档
HTML标签 页面中最大的标签,我们称为根标签
文档的头部 包含了文档的元(meta)数据,如 定义网页编码格式为 utf-8。
文档的标题 描述了网页标题
文档的主体 元素包含文档的所有内容,页面内容基本都是放到body里面的
HTML骨架

注: 规定:HTML标签名、类名、标签属性和大部分属性值统一用小写
推荐:

     
       我的第一个页面

不推荐:

     
       我的第一个页面

2.1.3. HTML元素标签分类

(1)标签: 在HTML页面中,带有“< >”符号的元素被称为HTML标签,如上面提到的 、、都是HTML骨架结构标签。

  • HTML 标签是由尖括号包围的关键词,比如 。

(2)分类:
常规元素(双标签)

<标签名> 内容    
  • 该语法中“<标签名>”表示该标签的作用开始,一般称为“开始标签(start tag)”,“” 表示该标签的作用结束,一般称为“结束标签(end tag)”。
  • 和开始标签相比,结束标签只是在前面加了一个关闭符“/”。
  • 我们以后接触的基本都是双标签

空元素(单标签)

<标签名 />  
  • 空元素 用单标签来表示, 简单点说,就是里面不需要包含内容, 只有一个开始标签不需要关闭。

2.1.4. HTML标签关系

主要针对于双标签 的相互关系,分为两种:
(1)嵌套关系

  
      

嵌套关系

(2)并列关系



并列关系

注:建议: 如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位(一个tab是4个空格)。如果是并列关系,最好上下对齐。
举例:请问下列哪组标签关系是错误的?

  • </head>

2.1.5. 文档类型

(1)用法: doctype 声明是不区分大小写的,以下方式均可:





(2)作用: 声明位于文档中的最前面的位置,处于 标签之前。 声明不是一个 HTML 标签,此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 就是告诉浏览器按照HTML5 规范解析页面。

注: 规定: ① HTML文件必须加上 DOCTYPE 声明,并统一使用 HTML5 的文档声明;
② 在 HTML 4.01 中, 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。HTML5 不是基于 SGML,因此不要求引用 DTD;
③ 使用 W3C 的验证 检查您是否编写了一个带有正确 DTD 的合法的 HTML / XHTML 文档!
常见的DOCTYPE声明:

  • HTML 5

  • HTML 4.01 Strict
    这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。
"http://www.w3.org/TR/html4/strict.dtd">
  • HTML 4.01 Transitional
    这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。

  • HTML 4.01 Frameset
    这个 DTD 与 HTML 4.01 Transitional 相同,但是允许使用框架集内容。

2.1.6. 页面语言lang

  

HTML 的 lang 属性可用于声明网页或部分网页的语言。这对搜索引擎和浏览器是有帮助的。
最常见的2个:
en定义语言为英语;
zh定义语言为中文。

注:语言标签规定:
language-script-region-variant-extension-privateuse
【1】language:这部分就是ISO 639规定的代码,比如中文是zh。
【2】script:表示变体,比如简体汉字是zh-Hans,繁体汉字是zh-Hant。
【3】region:表示语言使用的地理区域,比如zh-Hans-CN就是中国大陆使用的简体中文。
【4】variant:表示方言。
【5】extension-privateus:表示扩展用途和私有标识。
一般约定,language标签全部小写,region标签全部大写,script标签只有首字母大写。不同标签之间用连字号-链接。
如:zh-Hans 简体中文、zh-Hans-CN 大陆地区使用的简体中文、zh-Hant 繁体中文、zh-Hant-CN 大陆地区使用的繁体中文
有一点需要注意,任何合法的标签都必须经过IANA的认证,已通过认证的标签可以在这个网页查到。
拓展阅读: 简单来说,可能对于程序来说没有太大的作用,但是它可以告诉浏览器,搜索引擎,一些处理Html的程序对页面语言内容来做一些对应的处理或者事情。比如可以:

  • 根据根据lang属性来设定不同语言的css样式,或者字体
  • 告诉搜索引擎做精确的识别
  • 让语法检查程序做语言识别
  • 帮助翻译工具做识别
  • 帮助网页阅读程序做识别

2.1.7. 字符集


(1)字符集(Character set):是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。
(2)字符编码(Character encoding):也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),即在符号集合与数字系统之间建立对应关系,以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。
计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

注:常用的字符集编码:

  • ASCII编码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案,最多可以给256个字符(包括字母、数字、标点符号、控制字符及其他符号)分配(或指定)数值。


    ASCII编码表

    扩展ASCII编码表
  • ANSI编码:是 Windows 95 及其之前的 Windows 系统中默认的字符集,ANSI并不是某一种特定的字符编码,而是在不同的系统中,ANSI表示不同的编码。为了使计算机支持更多语言,通常使用0x80~0xFF范围的2个字节来表示1个字符。比如:汉字“中”在中文操作系统中使用[0xD6, 0xD0] 这两个字节存储。不同的国家和地区制定了不同标准,在英文操作系统下,ANSI编码代表扩展ASCII编码,在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
    【1】GB2312编码:是ANSI编码里的一种,对ANSI编码最初始的ASCII编码进行扩充,为了满足国内在计算机中使用汉字的需要,中国国家标准总局发布了一系列的汉字字符集国家标准编码,统称为GB码,或国标码。
    【2】GBK编码:即汉字内码扩展规范,K为扩展的汉语拼音中“扩”字的声母。GBK编码标准兼容GB2312。GB2312的出现,基本满足了汉字的计算机处理需要,但对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,这导致了后来GBK及GB 18030汉字字符集的出现。
    【3】BIG5编码:又称大五码,是繁体中文汉字字符集,港澳台等用。
    【4】Unicode编码:不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。一个很大的缺点是,同一个编码值,在不同的编码体系里代表着不同的字。这样就容易造成混乱。导致了unicode码的诞生。Unicode编码将世界上所有的符号都纳入其中,无论是英文、日文、还是中文等,大家都使用这个编码表,就不会出现编码不匹配现象。每个符号对应一个唯一的编码,乱码问题就不存在了。
    【5】UTF-8编码:为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。比如英文字母可以只用1个字节就够了。
    ② 这句话是让 html 文件是以 UTF-8 编码保存的, 浏览器根据编码去解码对应的html内容。这句代码非常关键, 是必须要写的代码,否则可能引起乱码的情况。

2.1.8. HTML标签的语义化

所谓标签语义化,就是指标签的含义。

(1)语义元素

一个语义元素能够清楚的描述其意义给浏览器和开发者。比如:无语义 元素实例:

— 无需考虑内容;语义元素实例:

, , and - 清楚的定义了它的内容.

注:语义化的目的: 根据标签的语义,在合适的地方给一个最为合理的标签,让结构更清晰。
【1】方便代码的阅读和维护;
【2】同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容;
【3】使用语义化标签会具有更好地搜索引擎优化 。
语义是否良好: 当我们去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。
遵循的原则: 先确定语义的HTML ,再选合适的CSS。所以,我们接下来学习html标签,要根据语义去记忆。 HTML网页中任何元素的实现都要依靠HTML标签。

(2) HTML5语义元素

许多现有网站都包含以下HTML代码:

你可能感兴趣的:(Web前端与移动开发基础教程之HTML&CSS)