我现在要学习前端,做一下笔记。。。
一.什么叫HTML
前端现在的业界的标准,网页技术严格的三层分离:html就是负责描述页面的语义;css负责描述页面的样式;js负责描述页面的动态效果的。
HTML是HyperTextMarkupLanguage的缩写,超文本标记语言。
HTML是一个纯文本文件(本质就是txt文本改了个后缀名。。。),用一些标签来描述文字的语义,这些标签在浏览器里面(使用者而非开发者)是看不到的,所以称为“超文本”,
HTML的功能是给文字增添语义,HTML中除了语义,其他的什么都没有了。
关于面试的两道小问题
(1)面试官问你,h1标签有什么作用?
正确答案:给文本增加主标题的语义
错误答案:给文字加粗、加黑、变大。
(2)<h1>haha</h1>请问是大于13字节还是等于13字节?====》等于(在txt文档中,查看属性)。
总结:HTML中除了语义之外什么都没有。没有样式,没有交互,没有行为!
二:HTML的基本骨架
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> </body> </html>
(1)DDT文档声明头
任何一个标准的HTML页面,第一行一定是一个
1 <!DOCTYPE …… |
开头的语句。
这一行,就是文档声明头,DocTypeDeclaration。此标签可告知浏览器文档所使用 的规范。到底有哪些规范呢?
在说规范之前,必须先明确一件事情,就是浏览器兼容HTML的版本问题。HTML4.01是从IE6开始兼容的。
HTML5是从IE9开始兼容的。IE11及以上均支持H5的开发,但是9-11只是部分兼容。
所以如果需要兼容IE6,7,8,就必须要HTML4.01来制作。但是手机、移动端的网页就可以可以用HTML5来做了。
以上为要说明的事情。----------------------------------------------------------------------------------------------------------------
现在我们要有一个明确的认识就是HTML 分为HTML5和HTML4.01(大部分前端认为4已经过时了)两个版本。
HTML4.01觉得自己有一些规定不严谨,比如,标签是否可以用大写字母呢?
1 <H1></H1>
所以,HTML就觉得,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。
HTML4.01里面有两大种规范,规定了普通和XHTML,每大种规范里面又各有3种小规范。所以一共6种规范(见下面):
大规范 | 里面的小规范 |
HTML4.01 | Strict 严格的,体现在一些标签不能使用,比如u Transitional 普通的 Frameset 带有框架的页面 |
XHTML1.0 严格体现在小写标签、闭合、引号 | Strict 严格的,体现在一些标签不能使用,比如u Transitional 普通的(我们一般用的,忘了 现在一般用的是H5的规范,在下面) Frameset 带有框架的页面 |
strict表示“严格的”:这种模式里面的要求更为严格。这种严格体现在哪里?有一些标签不能使用。比如,u标签,就是可以让一个本文加上下划线,但是这和HTML的本质有冲突,因为HTML只能负责语义,不能负责样式,而u这个下划线是样式。所以,在strict中是不能使用u标签的。怎么给文本增加下划线呢?只能使用CSS的样式来解决
Transitional表示“普通的”:这种模式就是没有一些别的规范。
Frameset表示“框架":在框架的页面使用。
HTML5中极大的简化了DTD,也就是说HTML5中就没有XHTML了,仅有这一种。
1 <!DOCTYPE html> |
(2)字符集
Html字符集表示形式:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
H5字符集表示形式:
<meta charset="UTF-8">
比较起来,H5更加简洁。这一点是无可置疑的,我们要说的字符集是关于UTF-8和gb2312(gbk)这两个字库的不同。
UTF-8:国际通用字库,里面涵盖了人类所有的语言。。。。但是描述汉字需要三个字节(byte)。
gb2312:国标,中国的字库,里面仅涵盖了汉字,一些通常见符和一些常用外文。描述汉字仅需要两个字节。
在实际开发过程中,根据需要选择相对应的字库。UTF-8全但是加载速度会慢。试想以下如果是一篇将近10w字的文章加载,会100K的大小。。。
注意:在开发中,meta声明一定要和保存的类型相同,否则乱码。
(3)其他的 就不在上面一一展示了,界面问题,需要大量的代码。别解释了 ,去敲吧。