|
一、HTML基本语法
HTML类似XML,页面上的每个节点用一对标签表示,例如标签的开始标记与结束标记都是放在一对尖括号中,不同的是结束标记多一个正斜杠(/)
不要与反斜杠(\)弄混淆,实际上除了windows的路径分隔符、转义字符串里的转义符 - 其他地方基本都是使用正斜杠(例如:网址、网页中的路径分隔符、或者表示除法、分隔命令行参数,以及HTML标签结束标记等等)。
HTML的一些常用标签请查看手册:
http://bbs.aardio.com/doc/html/dhtml/objects.html
表示图片的 <img> 表示换行的 <br> 则没有结束标记 - 这种叫空标签,在XML里空标签必须要补一个斜杠,但HTML里没有这规定,所以HTML比较随意没有XML那样严格的规范,也正因为如此,有了接近XML的XHTML1.0 规范,这个XHTML当年曾经很火甚至有人断言HTML5不会出生,但是后来越搞越复杂到不向下兼容的XHTML2.0终于被HTML5击败(HTML5向下兼容HTML4.0, XHTML1.0).
HTML标签的开始标记内部还可以使用一个或多个键值对表示节点的属性,例如:- <img src="图片路径" width="100" height="100">
复制代码 HTML 属性名可以使用除空白字符,双引号,单引号,'/','>','\0'以外的所有可打印字符,HTML 的属性值可选包含在一对双引号、或单引号内,注意不要使用有歧义的表示即可,例如值包含单引号就应当放在一对双引号内。所以类似下面这样的写法虽不常见但仍然是合法的:
- <div ${test}=123>测试</div>
复制代码 HTML中标签名、属性名、属性值都是忽略大小写的,但因为浏览器众多实现上有细节的差异,为保持良好的兼容性,应当都使用小写。
二、HTML标准规范、DOCTYPE
说到HTML标准,实际上目前兼容性最好的还是HTML4.0以及XHTML1.0,
编写一个网页使用什么样的标准 一般 在HTML的第一行使用 <!doctypel> 声明,这个语句比较复杂,例如HTML4.0兼容标准的声明为
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
复制代码 注意开始的尖括号后面有一个感叹号 - 表示这是一个声明语句而不是普通节点,
而紧接在DOCTYPE后的HTML表示文档的根节点是HTML, 后面是指明使用什么规范。
如果不想搞太复杂,可以写一个最简单的DOCTYPE声明( 完全不写会导致IE以IE5的怪异模式显示网页 ):现在很多编辑器(例如notepad++)支持 zencoding或emmet,可以比较快的生成一个简单的包含DOCTYPE的HTML代码,几个常用的缩写如下:
html:4s 严格的HTML4.0
html:4t 兼容性的HTML4.0(就是要求不那么严格)
html:xt 使用XHMTL1.0标准
三、HTML文档
一个完整的的HTML页面源码如下:
一个标准的HTML页面包含几个必要的标记
<html> </html> 为其他节点的根节点,而 html一般 包含两个子节点, body节点里面放显示内容,而head节点里放页面的其他参数(例如窗口标题,页面编码等等)
而head节点与body节点又可以包含其他的子节点,子节点又可以包含子节点,就象一棵树:
html是树干是根节点,而head节点包含的内容总是默默无闻的不可见部分,
body则包含所有显示在页面上的内容。
四、盒子模型
所有的节点都可以用CSS来定义外观,CSS可以写到节点的style属性里,也可以写到CSS文件里。
所有可显示的节点的显示模式都可以用盒子模型来表示,如下图:
每一个盒子有内容区,有边框(CSS的border属性)
边框里面是内边距( 或者叫内补白、即CSS的padding属性)
边框外面则是外边距(或者叫外边界,即CSS的margin属性)
当然还有节点的宽度、高度等等,有有的浏览器中宽度高度整的是包含border的节点大小,而在有的浏览器中指的是内容区大小,关于盒子模型请参考文章:了解CSS 盒子模型
五、CSS选择器
如果你还不知道什么是CSS选择器,请参考教程 CSS选择器语法详解 以及 HTMLayout快速入门
六、块节点、内联节点
HTML是以流的模式来显示节点的,所有节点分为两类。
块节点:可以指定高度、宽度(当然也支持上面所说的盒子模型的所有属性,例如内边距、外边距等等),多个块节点总是在页面上自上向下的垂直流动(块节点总是独占一行,默认的两个块节点不会显示在同一行内,无法在同一行内联接)
内联节点:内联节点总是在页面上自左向右的水平流动,一行放不下来才会流动到下一行,内联元素显示在行内,其高度受限于行距的高度,一个典型的例子就是文本,内联节点不能指定垂直方向的外边距(但是可以指定水平方向的外边距)、虽然也可以指定边框以及内边距(但在垂直方向上受行距高度的限制,边框以及内边距在垂直方向上设置的再大也不能改变行距高度,多余的内边距会被忽略,而多余的边框会溢出到上一行或下一行重叠显示),内联节点也不能指定高度(受行距高度的限制),也不能指定宽度(即内联节点在水平方向上只有外边距是正常起作用的,垂直方向上内外边距、边框等都显示不正常受制于行距高度)
块节点通常用来布局、建立网页的框架、调整网页的结构,最重要的块节点就是div节点。
内联节点通常用来显示内容(文本和图像)、最常见的内联节点是span,注意显示图像的img也是内联节点。
在严格的HTML4规范中,body下面只能包含块节点,所有内联节点都应当放到块节点中。
所以div如此重要,甚至HTML布局可以简称 div+css 布局。
|
评分
-
查看全部评分
|