[TOC]
>[info]CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。 定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。
### 相对定位
>[danger]相对定位是参照元素原来的位置进行移动,元素原有的空间位不变,元素在移动时会盖住其他元素。
~~~
<style type="text/css">
p {position: relative;}
</style>
~~~
### 绝对定位
>[danger]绝对定位是元素完全脱离文档流,页面中的其他元素视他不存在,也就是说绝对定位元素不会影响到其他元素。
~~~
<style type="text/css">
p {position: absolute;}
</style>
~~~
### 固定定位
>[danger]固定定位是元素完全脱离文档流,参照于可视区域,固定在可视区域中。
~~~
<style type="text/css">
p {position: fixed;}
</style>
~~~
## 关于定位的说明
* 相对定位是参照元素在空间中的原有位置。
* 绝对定位是参照距离他最近的有定位属性的父级元素,如果父级元素没有定位属性,则会参照文档。
* 一般我们设置绝对定位时,都会找一个合适的父级将其设置为相对定位,不过最好为这个具有相对定位属性的 父级设置宽高这样在各个浏览器中表现不会出现问题。
## 层级Z-index
* 定义属性是脱离文档流的,也就是说他有可能盖住其他元素。
* 如果有多个定义属性存在,那么相互间就会存在遮挡的情况。
* 可以通过修改元素的Z-index属性来设置元素叠放的层 次,z-index值越高就会越在最上面。
~~~
<style type="text/css">
p{z-index: 999;}
</style>
~~~
>[danger]**作业:**理解定位的原理,分别练习三种定位用途,把定位运用在开发中。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板