DOCTYPE
<!DOCTYPE>
标签是一种标准通用标记语言的文档里类型声明——告诉标记语言解析器,应该用什么样的文档类型定义(DTD)来解析文档<!DOCTYPE>
声明必须在HTML文档的第一行,位于<html>
标签之前- 如果页面没有
<!DOCTYPE>
的声明,那么compatMode(document.compatMode是用来生命文档的解析类型)默认会是BackCompat(怪异模式,浏览器使用自己的怪异模式来渲染解析页面),这就意味着不同的浏览器会显示不同的样式 - 如果添加了就等同于开启了标准模式CSS1Compat,浏览器就会按照W3C的标准来渲染页面
行内元素与块级元素
行内元素
- 和其他元素都在一行上
- 高,行高,外内边距都不可以改变
- 宽度就是它的文字或图片的宽度,不可改变
- 内联元素只能容纳文本或者其他内联元素
- 常见的行内元素有:
<a> <span> <img> <input> <select>
行内元素注意的点
- 设置width无效
- 设置height无效,line-height有效
- margin和padding都只有左右有效,上下无效
块级元素
- 总是在新行上开始
- 高度,行高,内外边距都可控
- 宽度缺省是它的容器的100%,除非设定一个宽度
- 它可以容纳内联元素和其他块元素
display属性值
值 | 描述 |
---|---|
none | 不会被显示 |
block | 块级元素,元素前后带有换行符 |
inline | 默认,此元素被显示为内联元素,前后没有换行符 |
inline-block | 行内块元素,像行内元素一样显示,但是其内容像块级元素一样显示 |
list-item | 此元素会作为列表显示,并添加样式列表标记 |
table | 此元素会作为块级表格,前后带有换行符 |
inline-table | 此元素作为内联表格,前后没有换行符 |
inherit | 从父元素继承display属性的值 |
页面导入样式
- 可以使用link和@import
- link属于XHTML标签,除了加载CSS外,还能用于定义RSS,定义rel连接属性等作用/@improt是CSS提供的,只能用于加载CSS
- 页面被加载的时候,link会被同时加载,而@import引用的CSS会等到页面被加载完成再加载
- @import只有IE5以上才能识别,而link是XHTML标签,没有兼容问题
对浏览器内核的理解
- 渲染引擎和JS引擎
- 渲染引擎:负责取得网页的内容(HTML,XML,图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,输出到显示器或者打印机。浏览器的内核不同对于网页的语法解释会有不同。
- JS引擎:解析和执行javascript来实现网页的动态效果
iframe的缺点
- iframe会阻塞页面的onlocal事件
- 搜索引擎的检索程序无法解读这种页面,不利于SEO
- iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载
- 解决办法:通过javascript动态给iframe添加src属性值