第一章:Web标准
1.内容、结构、表现和行为
内容是网页原材料,如文本,图像,视频等。结构是XHTML的标记集合。
表现即外观,用CSS来设置。行为是对浏览者动作的反应,用JavaScript来编写。
好的网页必须做到这4者的严格分离。
2.XHMTL
XHTML是将HTML作为XML进行了一次重新表达,可以自定义标签,加强了扩展性。
标准XHMTL的编码要求:
3.title标签
title标签对于搜索引擎来说占有相当大的权重,所以要设置好这个标签
4.块级元素和行内元素
块级元素无需换行符,自动在页面上堆叠起来,在默认情况下会预先设置一些外边距。行内元素则没有这些外边距,它们会肩并肩的横向排布在页面上,知道页面空间不足换行。
常见XHTML标签及属性:
http://www.elizabethcastro.com/html/extras/xhtml_ref.html
第二章 CSS的工作原理
1.三种方式
2.CSS规则
CSS要求绝对精确,省略一个分号或者多一个冒号都会导致浏览器忽略整条规则!!
基本:p {color:red; font-size:12px;}
多个:h1, h2, h3 {color:blue;}
后代:div p span { }
子选择符:p > em { }
类:.myclass { }
上下文中的类:p.myclass { } p.myclass span { }
注意:一个标签可以应用多个类。
ID:#myid { }
注意:一般来说,应该有节制的使用ID和类,正确的用法是把它们添加到包含标签主要部分的div中,然后再使用以相应的ID和类名开头的上下文选择符来访问位于该ID种的标签。
通配: p * { }
相邻同辈:h1 + p { }
属性:img[title] { }, img[title=”hello”] { }。img[title|=”hello”] { }
其中第三条匹配title以hello开头的img
但是IE6和IE7都不支持属性选择符
伪类:伪类是指同样也是类,但并没有实际添加到标签中的类,通过伪类可以在某种事件发生时,将规则应用到标签上。
锚链接的四种伪类 a:link, a:visited, a:hover, a:active
IE6只支持链接(a)的这四种伪类,IE7虽然支持任何元素上的悬停行为,但DOCTYPE必须是严格型。FF等则支持所有伪类。
其他有用的伪类: p:first-child(last-child),第一个(最后一个)p元素
input:focus获取焦点
伪元素:伪元素可以在文档中添加额外标记(事实上并没有)。
p:first-letter {font-size:300%; float:left;}段落开头首字放大效果
x:first-line,x元素第一行
x:before和x:after,能够在元素前后添加指定文本,如:h1.age:before {content:”Age: ”}
注意:不要依赖伪类和伪元素生成网站的关键内容,以为IE6和IE7不能很好的支持它们
3.继承
CSS拥有强大的继承机制,利用继承可以减少实现必要效果的CSS代码。有些属性可以被继承,比如文本属性,但是有些属性不能被继承,主要是盒元素的定位和显示。
此外,当使用百分比和em等相对尺寸时,需要注意。当一个标签的文本大小设置为80%,其后代标签文本大小也是80%,则后代标签的实际大小事64%。
4.层叠机制
3条重要规则
一个大概的规则:看哪条规则更加明确,更有针对性!!
5.数字值
数字值用于定义各种元素的长度,分两种类型:绝对值和相对值
绝对值推荐使用px,相对值则推荐使用%和em。其中使用em来指定字体大小,1em等于浏览器中设置的字体大小,通常为16px
第三章 字体和文本样式
1.字体属性:
font-family,可以指定多个值,按先后顺序使用。
font-size,用em设置,注意标记嵌套时的继承
font-style,设置是不是显示斜体
font-weight,设置字体粗细
font-variant,只接受small-caps,所有字母转换成小型大写字母(少用)
字体属性的简写方式:
可以将上述的属性都写在一个地方,如 p {font: bold italic small-caps .75em verdana, arial, sans-serif;}
规则:
2.文本属性
文本会被包含在一个细长的盒子中,而且通常会跨越多行,作者称之为“蛇”形文本。
text-indent:这个属性用来设置文本盒子相对于包含元素的开始位置,值可以为正值或者负值
letter-spacing:字母间距
word-spacing:单词间距
text-decoraction:underline,overline,linethrough,blink,一般用于链接。
text-align:对齐方式,left,right,center,justify,不一定用于文本元素,也可以对齐图像等其他
line-height:行间距,值为数学值,不需要单位
text-transform:uppercase,lowercase,capitalize,none,大小写,或者首字母大写