## 定位属性
包括定位模式(定位的分类)和边偏移两部分.
## 定位模式
| 值 | 描述 |
|---|---|
| static | 自动定位 |
| relative | 相对定位,相对于其原文档流的位置进行定位 |
| absolute | 绝对定位,相对于上一个已经定位的父元素进行定位 |
| fixed | 固定定位,相对于浏览器窗口进行定位 |
## 静态定位
静态定位是所有元素的默认定位方式,当position属性的取值为static时,可以将元素定位于静态位置.所谓静态位置就是哥哥元素在HTML文档流中默认的位置.在静态定位状态下,无法通过边偏移属性来改变元素的位置. 一个原来有定位的元素通过设置此属性,可以去掉定位效果.
## 相对定位(自恋型,不脱标)
相对定位是将元素相对于它在标准流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置.对元素设置相对定位后,可以通过边偏移属性改编元素的位置,但是它在文档流中的位置仍然保留.
注意:
1. 相对定位最重要的一定是,它可以通过边偏移移动位置,但是原来所占的位置,继续占有,后面的盒子仍以标准流方式对待它.
2. 其次,每次移动的位置,是以自己的左上角为基点移动.
## 绝对定位(拼爹型)
当position取值为absolute时,可以将元素的定位模式设置为绝对定位.绝对定位最重要的一点是,它可以通过边偏移移动位置,但是它完全脱标,完全不占位置.
注意: 父级没定位
如果父级元素没有定位,定位以浏览器左上角为基准点对齐(document文档)
注意:父级有定位
绝对定位根据最近的已经定位(绝对,固定或相对定位)的父亲(祖先)元素为基准点进行定位.
## 子绝父相
这句话的意思是子级是绝对定位的话,父级要用相对定位.
## 绝对定位水平居中,垂直居中
50%-自身宽度一半
```
.father {
width: 400px;
height: 400px;
background-color: pink;
position: relative;
}
.son {
width: 100px;
height: 100px;
background-color: black;
position: absolute;
left: 50%;
margin-left: -50px; //减去自身宽度一半
top: 50%;
margin-top:-50px ;
}
```
## 固定定位
固定定位只认浏览器,固定定位完全能脱标,不占位置,不随着滚动条滚动. 固定定位必须要加宽度和高度,除非有内容撑开.
## 叠加次序(z-index)
使用绝对定位,会产生叠加的问题. 最后的元素会叠加前面的元素. 只需要在绝对定位的元素中添加属性z-index,可以是正数,负数,不需要单位. 数值最大的在最上面. 默认值是0. 只有绝对定位,固定定位有此属性.标准流和浮动没有这个属性.
## 定位模式转换
跟浮动一样,元素添加了绝对定位和固定定位后,元素模式也会发生转换,都转换为行内块模式.印尼次比如行内元素如果添加了绝对顶你个为或者固定定位后,可以不用转换模式,直接给高度和宽度就可以了
- HTML
- 浏览器内核
- Web标准
- HTML标签关系
- 路径
- 表单
- datalist
- fieldset
- H5新增input
- 列表
- 表格
- 网站优化三大标签
- CSS
- 规则
- 命名规则
- 伪类选择器
- 块级元素和行内元素区别
- 权重
- 盒子模型
- 浮动
- 清除浮动
- 版心和布局流程
- 定位
- 元素的显示和隐藏
- overflow溢出
- CSS用户界面样式
- 垂直对齐
- 取出图片地测空白缝隙
- 溢出的文字隐藏
- 精灵技术
- 字体图标
- 滑动门
- before和after伪元素
- 2D
- 过度效果
- translate
- scale
- rotate
- skew
- 3D
- 左手法则
- rotateX,Y,Z旋转
- perspective
- translateZ
- translate3d
- backface-visibility
- 动画(animation)
- 概述
- 伸缩布局
- BFC
- 优雅降级和渐进增强
- 背景渐变
- CSS统一验证工具
- CSS压缩工具
- 移动web基础知识
- 基础
- 像素密度
- 设备独立像素
- css像素
- 2倍图
- 调试
- 视口的概念及设置
- PC端的视口
- 移动端的视口
- 移动端页面正常展示的解决方案
- 移动端viewport设置
- 移动站点和浏览器的说明
- 响应式开发
- 基础
- 媒体查询
- 媒体查询条件判断
- 媒体功能
- 使用媒体查询设置页面布局
- bootstrap
