定位就是通过有关定位的属性来明确设定一个盒子的在以下两个方面的位置:
1,在(x,y)平面上所处位置。
2,在高度(z轴)方向的位置(层次)。
这是相对于一个盒子的“自然位置”和“浮动位置”而言的。
自然位置就是所谓的正常的文档流所确定的位置。
浮动位置就是由于浮动的特性而确定的位置。
## 18.1.1定位方式属性position
position用于设定一个元素的位置按什么方式来确定。
通俗说就是设定元素“放在哪个位置”(可由4个定位属性确定:top,left, right, bottom)。
有如下4个值可用:
static: 静态定位(其实就是没有定位)
是一个元素的默认定位方式,也就是一个文档中元素的正常文档流所确定的定位。
对其给定定位位置(top,left, right, bottom)的值无效。
relative:相对定位
相对于其本来应该所处的位置而设定一个相对性定位。
需给定位置(top,left, right, bottom)
absolute:绝对定位
相对于其上层最近的一个非static定位元素而设定的一个绝对性定位。
需给定位置(top,left, right, bottom);
而如果其所有上级都没有非static定位元素,就相对于窗口来定位——手册上说的相对于body,是不准确的!
fixed: 固定定位
相对于当前网页窗口而设定的一个绝对性定位。
需给定位置(top,left, right, bottom)。
注意:
1,relative定位虽然会改变元素的位置,但不影响上级盒子和相邻盒子该有的正常宽高和位置。
2,absolute定位和fixed定位的元素脱离了文档流,也就是上级盒子中不会计算其宽高(像没有一样)
## 18.1.2.定位位置属性:top,left,right,bottom
就是对于3种定位方式(relative, absolute, fixed),所给定的具体位置值。
可以是使用距离“上”,“左”,“下”,“右”各多少来定。
比如:
```
.cc1{
position: absolute;
left: 5px; top: 10px;
}
```
注意:top和bottom不能同时用;left和right不能同时用!
## 18.1.3.层叠属性z-index
含义:
就是将一个元素(盒子)默认情况下所展示在的那个平面(就是屏幕所在面)的垂直线当做z轴方向(就是眼睛盯屏幕时的那个“视线”方向),朝眼睛方向为z轴的正方向。则z-index可以设定一个元素(盒子)在z轴方向的“叠放层次”的高低,用整数表示。越大值表示越高,也就是离眼睛越近,自然就会覆盖住比它低的其他盒子。
如下图所示:
![](https://img.kancloud.cn/d6/bf/d6bfc09370f48be9117757a4a18a657d_462x302.png)
```
<style>
.box{
border:solid 1px red;
width:300px;
height:200px;
position: relative;
}
.box .box1{
background: yellow;
width:100px;
height:100px;
z-index:10;
position: relative;
left:10px;
top:10px;
}
.box .box2{
background: blue;
width:60px;
height:50px;
z-index:6;
position: relative;
}
.box .box3{
background: green;
width:80px;
height:30px;
z-index:3;
position: relative;
}
</style>
</head>
<body>
<div class="box">
<div class="box1">1</div>
<div class="box2">2</div>
<div class="box3">3</div>
</div>
```
- 1、相关介绍
- 1.1.关于全栈学科
- 1.2.全栈工程师与全栈开发
- 1.3.基本技能
- 1.4.学习方法
- 2、html初步
- 2.1.什么是网页和网站
- 2.2.网页浏览原理
- 2.3.什么是html
- 2.4.html基本知识
- 2.5.综合案例
- 3、html结构标签
- 3.1.文档级结构标签
- 3.2.内容级结构标签
- 3.3.块标签和行内标签
- 4、html文本标签
- 5、html列表标签
- 5.1.无序列表ul>li
- 5.2.有序列表ol>li
- 5.3.定义列表dl>dt,dd
- 6、html图像标签
- 6.1.网页路径问题
- 7、html链接标签
- 7.1.超链接
- 7.2.锚链接
- 7.3.link标签
- 8、html表格标签
- 8.1.表格初步
- 8.2.表格高级
- 8.3.表格案例
- 9、html表单标签
- 9.1.表单初步
- 9.2.表单标签详解
- 9.3.表单和表格综合案例
- 10、html5新增标签与属性
- 10.1.一些新增标签
- 10.2.一些新增input类型
- 10.3.一些新增属性
- 11、其他零碎及相关知识
- 11.1.meta标签(元信息标签)
- 11.2.网页的字符编码问题
- 11.3.特殊字符——字符实体
- 11.4.文档类型(了解)
- 11.5.内嵌框架标签iframe(了解)
- 12、CSS的引入
- 12.1.CSS引入
- 12.2.什么是css?
- 12.3.为什么需要css?
- 13、css入门
- 13.1.css样式分类(根据css代码位置分)
- 13.2.css基本语法
- 13.3.css简单的选择器
- 13.4.css属性
- 13.5.css入门综合案例
- 14、选择器详解
- 14.1.选择器综述
- 14.2.基础选择器
- 14.3.关系选择器
- 14.4.属性选择器
- 14.5.伪类选择器
- 14.6.伪元素选择器
- 14.7.常见选择器的组合
- 14.8.css样式的特性
- 15、有关文字的属性
- 15.1.字体属性
- 15.2.文本属性
- 16、有关盒子的属性
- 16.1.盒子概述
- 16.2.盒子的宽高属性width和height
- 16.3.边框属性border
- 16.4.内边距属性padding
- 16.5.外边距属性margin
- 16.6.背景属性background
- 16.7.轮廓属性outline
- 16.8.盒子综合案例
- 17、有关布局的属性
- 17.1.布局属性
- 17.2.页面布局应用
- 18、定位属性
- 19、列表与表格样式
- 19.1.列表样式
- 19.2.表格样式
- 20、CSS3高级特性
- 20.1.盒子新特性
- 20.2.多栏布局column
- 20.3.弹性布局flex
- 20.4.2D变换transform(2D)
- 20.5.3D变换transform(3D)
- 20.6.过渡效果transition
- 20.7.动画效果animation
- 21、零碎或补遗或经验
- 21.1.光标形状设置cursor
- 21.2.盒子缩放zoom
- 21.3.文字阴影text-shadow
- 21.4.文字溢出text-overflow
- 21.5.盒子模型box-sizing
- 21.6.css初始化
- 21.7.css精灵技术
- 21.8.自定义字体