博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS之定位,relative/absolute/fixed的用法
阅读量:5132 次
发布时间:2019-06-13

本文共 1389 字,大约阅读时间需要 4 分钟。

其实position的值有四个,static/relative/absolute/fixed,而static是默认值,不算具有有定位属性,这里就不讲了。

定位其实就是跟元素设置定位属性,然后设置其对位的相对上下左右的距离,一般写法如下:

position:absolute;top:20px;left:20px;

下面我们分情况讨论:

1、父级没有定位属性的情况,用relative和abosolute配合使用,解决一般的定位问题。

abosolute:绝对定位,其意义是相对其最近的一个有定位属性的父级元素进行定位。

如果我们期望用于定位的父级没有定位属性,那么就可以给此父级加上position:relative属性,这样就能相对这个父级去定位了(原因不细讲了,照写就ok)。实例代码如下:
让类名div01相对于div03去定位

蓝色

定位效果如下图:

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;

原文链接:

转载于:https://www.cnblogs.com/HDK2016/p/9039417.html

你可能感兴趣的文章
hanlp安装和使用
查看>>
劲舞团脑残啊
查看>>
大数据面试题题库
查看>>
光圈快门感光度
查看>>
Python range函数
查看>>
Restoring Road Network 反证最短路
查看>>
sql重置标识
查看>>
js判断字符串是否在数组中
查看>>
【贪心算法】POJ-2376 区间问题
查看>>
TextView settextcolor 无效解决方案
查看>>
CSS3混合模式mix-blend-mode/background-blend-mode简介 ,PS中叠加效果
查看>>
PHP语言基础简单整理
查看>>
线段树专辑—— pku 3468 A Simple Problem with Integers
查看>>
UIsegmentControl
查看>>
《javascript语言精髓与编程实践》--原型继承笔记
查看>>
JS 中 Date() 的其他操作集锦
查看>>
基本Sql语句汇总
查看>>
C语言学习笔记--函数
查看>>
C语言学习笔记--数组指针和指针数组
查看>>
多语言 SEO
查看>>