CSS之定位,relative/absolute/fixed的用法
其实position的值有四个,static/relative/absolute/fixed,而static是默认值,不算具有有定位属性,这里就不讲了。
定位其实就是跟元素设置定位属性,然后设置其对位的相对上下左右的距离,一般写法如下:
position:absolute;
top:20px;
left:20px;
下面我们分情况讨论:
1、父级没有定位属性的情况,用relative和abosolute配合使用,解决一般的定位问题。
abosolute:绝对定位,其意义是相对其最近的一个有定位属性的父级元素进行定位。
如果我们期望用于定位的父级没有定位属性,那么就可以给此父级加上position:relative属性,这样就能相对这个父级去定位了(原因不细讲了,照写就ok)。实例代码如下:
让类名div01相对于div03去定位
<div class="div03">
<div class="div02">
<div class="div01">蓝色</div>
</div>
</div> <style>
.div03{ height:500px; width:300px; padding:50px; background:#f0f0f0; position:relative;}
.div02{ height:300px; width:200px; background:#dddddd;}
.div01{ height:100px; width:200px; background:#3498db; position:absolute; top:20px; left:20px;}
</style>
定位效果如下图:

2、父级有定位属性的情况。
如果我们期望用于定位的父级已经有position或者abosolute定位属性,那么就直接按第(1)中情况那样想写需要定位元素的定位就可以啦,它就会相对于那个有定位属性的父级去定位。
3、position:relative;
此属性表示元素相对于自己去定位,如果我需要将元素相对自己往上移动10像素,而又不影响周围其他元素的位置,则可以向如下这样写样式:
position:relative;
top:-10px;
left:0px;
此属性设置时,在页面或页面内部有滚动条的时候,有可能会影响页面宽度以及overflow:hidden的效果,不建议使用,我是一般都不用,可以用margin/padding、或者position:absolute解决,就不要用relaive去解决;
4:positon:fixed;
这个是相对于整个页面框架去定义定位,你可以简单的理解为相对于可视区去定位,一般页面上飘来飘去的,或者浮动在顶部或右下角的小模块都是用的fixed;
position:fixed;
bottom:0px;
left:0px;
这就是相对于页面浮动在最下面,如下图这个效果
fixed的一个使用技巧:
有时候自己写模态框弹层的时候,需要加一个始终覆盖的半透明的背景层,这个给一个div标签可以设置以下样式即可
background:#000;
position:fixed;
top:0px;
left:0px;
bottom:0px;
right:0px;
opacity:.7;
filter:alpha(opacity=70);
而中间弹窗定位也用fixed,但其top和left的值,最好使用js去更具具体页面高宽来计算具体的值才能很好的居中。
5、z-index
所有的定位都是脱离了原来的文档层,就像一本书,以前所有类容都在同一页,而position之后,就可以放在不同层级的各页,z-index值越高,就在越上层,默认值相当于0; 用法如下
position:absolute;
top:20px;
left:20px;
z-index:999;
原文链接:css的定位,relative、absolute和fixed的用法
CSS之定位,relative/absolute/fixed的用法的更多相关文章
- css的定位,relative/absolute/fixed的用法
其实position的值有四个,static/relative/absolute/fixed,而static是默认值,不算具有有定位属性,这里就不讲了. 定位其实就是跟元素设置定位属性,然后设置其对位 ...
- HTML中三种定位relative,absolute,fixed后,盒子的百分比宽度及位置易错点
1 . 相对定位relative:顾名思义,相对定位是相对于自己的位置来进行偏移,如下图: 以盒子中心为基准,为每条边的正方向,例: 向右移动20px : 代码为left:20px;或者right:- ...
- css属性position: static|relative|absolute|fixed|sticky简单解析
目录 static 静态定位(默认) relative 相对定位 正常文档流 加了relative之后的布局 加上margin/padding/border之后的布局 absolute 绝对定位 正常 ...
- CSS 定位 relative && absolute 问题?
1 1 1 CSS 定位 relative && absolute 问题? 谁能解释一下,为什么div使用 relative是设置right,bottom 后,看不到div 呀,哪里多 ...
- What is the difference between position: static,relative,absolute,fixed
What is the difference between static,relative, absolute,fixed we can refer to this link: expand
- CSS定位:相对定位、绝对定位和固定定位(relative absolute fixed)
相对定位:position:relative; 不脱离文档流,参考自身静态位置通过top,bottom,left,right定位,并且可通过z-index进行层次分级. 绝对定位:position:a ...
- CSS position relative absolute fixed
position属性absolute与relative 详解 最近一直在研究javascript脚本,熟悉DOM中CSS样式的各种定位属性,以前对这个属性不太了解,从网上找到两篇文章感觉讲得很透彻 ...
- CSS 相对/绝对(relative/absolute)定位系列(四)——张鑫旭
前三篇(1, 2, 3)都是介绍的absolute属性,终于,轮到本文讲讲relative相对定位. 一.relative属性的形象化思维 relative是个看上去低调,有些特殊才能,气场强大,有着 ...
- CSS 相对|绝对(relative/absolute)定位系列(一)
一.有话要说 以前写内容基本上都是:眼睛一亮——哟呵,这个不错,写!然后去古人所说的茅房里蹲会儿,就有写作的思路了.但是,构思相对/绝对(relative/absolute)定位系列却有好些时日,考虑 ...
随机推荐
- Codeforces 757 C Felicity is Coming!
题目大意:有n个训练营,m种宠物,每个训练营里里面有gi 个宠物,现在每只宠物都要完成一次进化,种类 相同的宠物进化之后,种类还是相同,种类不同的宠物不能进化成相同种类,且要求所有宠物进化之后,每个 ...
- 为Kubernetes集群部署本地镜像仓库
目录贴:Kubernetes学习系列 经过之前两篇文章:Centos7部署Kubernetes集群.基于kubernetes集群部署DashBoard,我们基本上已经能够在k8s的集群上部署一个应用了 ...
- 【Java】 剑指offer(57-1) 和为s的两个数字
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它 ...
- 075 importSTV的使用,与bulkload的使用
一:由HDFS将数据直接导入到HBase中 1.生成TSV文件 2.内容 3.上传到HDFS 4.运行 export HBASE_HOME=/etc/opt/modules/hbase-0.98.6- ...
- Unity 之 如何删除Unity项目里面没用的东西??
选中需要用到的Scene,右键选 Select Dependencies,这样会选出这个场景所有用到的文件,将这些文件导出为 .unitypackage. 用同样的办法就所有用到的几个场景的文件分别导 ...
- c#textBox控件限制只允许输入数字及小数点
在textboxd的事件中的 KeyPress 事件,这样双击进入代码:输入以下代码 即可 //判断按键是不是要输入的类型. || () && ( && () e.Ha ...
- [BZOJ2639]矩形计算
[BZOJ2639]矩形计算 题目大意: 给定一个\(n\times m(n,m\le200)\)的矩阵.\(q(q\le10^5)\)次询问,每次询问一个子矩阵中所有数字出现次数的平方和. 思路: ...
- Python语言的高级特性
函数式编程 基于lambda演算的一种编程方式 函数中只有函数 函数可以作为参数,同样可以作为返回值 纯函数式编程语言:LISP , Haskell python函数式编程只是借鉴函数式编程的一些特点 ...
- android:ListView 的简单用法
首 先新 建 一个 ListViewTest 项 目, 并 让 ADT 自 动帮 我 们创 建 好 活动 . 然后 修 改 activity_main.xml 中的代码,如下所示: <Linea ...
- goto语句引起的crosses initialization of XXX
1. 背景 goto语句虽然目前已经不提倡使用,但是用起来还是很方便,尤其是老代码中见的比较多. 在改动有goto语句的老代码时需要特别注意,是否跳过来资源的释放.有用变量的初始化等等. 很久之前写c ...