1.CSS规定的定位机制有三种,分别是标准文档流,浮动及绝对定位。
2.W3C标准:由万维网联盟定制的一系列标准,包括:
(1)结构化标准语言(HTML和XML)
(2)表现标准语言(CSS)
(3)行为标准语言(DOM和CMAScript)
结构,样式,行为分离
3, 标准文档流:
特点:从上到下,从左到右,输出文档内容。
由块级元素和行级元素组成。
**块级元素,从左到右撑满页面,独占一行,当触碰到页面边缘时,会自动换行,
* address - 地址
* blockquote - 块引用
* center - 举中对齐块
* dir - 目录列表
* div - 常用块级容易,也是css layout的主要标签
* dl - 定义列表
* fieldset - form控制组
* form - 交互表单
* h1 - 大标题
* h2 - 副标题
* h3 - 3级标题
* h4 - 4级标题
* h5 - 5级标题
* h6 - 6级标题
* hr - 水平分隔线
* isindex - input prompt
* menu - 菜单列表
* noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
* noscript - )可选脚本内容(对于不支持script的浏览器显示此内容)
* ol - 排序表单
* p - 段落
* pre - 格式化文本
* table - 表格
* ul - 非排序列表
**行级元素(内联元素):能在同一行显示,不会改变HTML的文档结构
* a - 锚点
* abbr - 缩写
* acronym - 首字
* b - 粗体(不推荐)
* bdo - bidi override
* big - 大字体
* br - 换行
* cite - 引用
* code - 计算机代码(在引用源码的时候需要)
* dfn - 定义字段
* em - 强调
* font - 字体设定(不推荐)
* i - 斜体
* img - 图片
* input - 输入框
* kbd - 定义键盘文本
* label - 表格标签
* q - 短引用
* s - 中划线(不推荐)
* samp - 定义范例计算机代码
* select - 项目选择
* small - 小字体文本
* span - 常用内联容器,定义文本内区块
* strike - 中划线
* strong - 粗体强调
* sub - 下标
* sup - 上标
* textarea - 多行文本输入框
* tt - 电传文本
* u - 下划线
* var - 定义变量
**可变元素:可变元素为根据上下文语境决定该元素为块元素或者内联元素。
* applet - java applet
* button - 按钮
* del - 删除文本
* iframe - inline frame
* ins - 插入的文本
* map - 图片区块(map)
* object - object对象
* script - 客户端脚本
在块级元素,未设置width宽度,设置了float属性时,它的宽度会随内容的变化而变化。当元素设置了浮动属性后,会对相邻的元素产生影响,相邻元素特指紧邻后面的元素。
清除浮动的方法:为受到浮动影响的元素添加这些属性,紧邻后面的元素
1. clear属性,常用clear:both,或者clear:left,clear:right.
2.同时设置宽度width:100%(或固定宽度)+ overflow:hidden
相对定位
绝对定位position:
1.静态定位 2.相对定位 3.绝对定位
拥有四个属性值:static,relative,absolute,fixed
相对定位:
特点:会相对于自身原有位置进行偏移,仍处于标准文档流中,会拥有偏移属性和z-index属性
绝对定位:
特点:会建立以包含块为基准的定位,会完全脱离标准文档流(也就是不会对兄弟元素造成影响) ,会拥有偏移属性和z-index(空间层叠属性)属性
设置了绝对定位,没有设置宽度时,元素的宽度会随着内容进行调节
不设置偏移量时,无论是否存在已经定位的祖先元素,都保持在元素的初始位置,会脱离标准文档流,
设置偏移量时,在无设置了定位(不论是relative还是absolute,fixed,除开静态定位)的祖先元素时,以<html>为偏移参照基准。有已定位的祖先元素时,以距其最近的定位的祖先元素为偏移参照基准。
脱离文档流:元素不再按照从上到下和从左到右的显示方式,也就是它的初始位置可以被其他元素占据。