07 CSS-相对定位、绝对定位、固定定位、z-index
来源:互联网 发布:python stringbuffer 编辑:程序博客网 时间:2024/06/05 06:26
定位有三种,分别是相对定位、绝对定位、固定定位。
1、相对定位:position:relative;
2、绝对定位:position:absolute;
3、固定定位:position:fixed;
4、关于z-index
1、相对定位:position:relative;
1.1相对定位介绍
相对定位,就是微调元素位置的。让元素相对自己原来的位置,进行位置调整。
如果一个盒子想进行位置调整,那么就要使用相对定位
position:relative; → 必须先声明,自己要相对定位了 left:100px; → 然后进行调整。 top:150px; → 然后进行调整。
1.2 不脱标,老家留坑,形影分离
相对定位不脱离标准文档流,真实位置是在老家,只不过影子出去了,可以到处飘。
1.3相对定位用途
相对定位有坑,所以一般不用于做“压盖”效果。页面中,效果极小。就两个作用:
1) 微调元素
2) 做绝对定位的参考,子绝父相
1.4 相对定位的定位值
可以用left、right来描述盒子右、左的移动;
可以用top、bottom来描述盒子的下、上的移动。
2、绝对定位:position:absolute;
2.1绝对定位介绍
绝对定位比相对定位更灵活
2.1绝对定位脱标
绝对定位的盒子,是脱离标准文档流的。
所以,所有的标准文档流的性质,绝对定位之后都不遵守了。
绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要display:block;就可以设置宽、高了
span{ position: absolute; top: 100px; left: 100px; width: 100px; height: 100px; background-color: pink; }
2.2参考点
- 绝对定位的参考点,如果用top描述,那么定位参考点就是页面的左上角,而不是浏览器的左上角:
- 如果用bottom描述,那么就是浏览器首屏窗口尺寸,对应的页面的左下角:
面试题:
2.3 以盒子为参考点
一个绝对定位的元素,如果父辈元素中出现了也定位了的元素,那么将以父辈这个元素,为参考点。
要听最近的已经定位的祖先元素的,不一定是父亲,可能是爷爷:
<div class="box1"> → 相对定位 <div class="box2"> → 没有定位 <p></p> → 绝对定位,将以box1为参考,因为box2没有定位,box1就是最近的父辈元素 </div></div><div class="box1"> → 相对定位 <div class="box2"> → 相对定位 <p></p> → 绝对定位,将以box2为参考,因为box2是自己最近的父辈元素 </div></div>
不一定是相对定位,任何定位,都可以作为参考点
子绝父绝、子绝父相、子绝父固,都是可以给儿子定位的。但是子绝、父绝,没有一个盒子在标准流里面了,所以页面就不稳固,没有任何实战用途。
So,“子绝父相”有意义,父亲没有脱标,儿子脱标在父亲的范围里面移动。
- 绝对定位的儿子,无视参考的那个盒子的padding。
下图中,绿色部分是div的padding,蓝色部分是div的内容区域。那么此时,div相对定位,p绝对定位。
p将无视父亲的padding,在border内侧为参考点,进行定位:
2.4 绝对定位的盒子居中
绝对定位之后,所有标准流的规则,都不适用了。所以margin:0 auto;失效。
解决办法:left:50%; margin-left:负的宽度的一半。(三句话)
width: 600px; height: 60px; position: absolute;→ 第一句 left: 50%;→ 第二句 top: 0; margin-left: -300px; → 第三句。宽度的一半
3、固定定位:position:fixed;
固定定位,就是相对浏览器窗口定位。页面如何滚动,这个盒子显示的位置不变。
固定定位脱标!IE6不兼容。
4、关于z-index
- z-index值表示谁压着谁。数值大的压盖住数值小的。
- 只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。而浮动的东西不能用。
- z-index值没有单位,就是一个正整数。默认的z-index值是0。
如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。
从父现象:父亲怂了,儿子再牛逼也没用。
总结:
- 相对定位相对于自身位置移动
- 绝对定位:
有已定位祖先元素:以距离最近的祖先元素为参照 (以上2.3)
无已定位祖先元素:以为参照(以上2.2)
一般使用:(子绝父相)
子元素设置绝对定位,父元素设置相对定位
- 07 CSS-相对定位、绝对定位、固定定位、z-index
- 07 CSS-相对定位、绝对定位、固定定位、z-index
- 08-CSS 相对定位 绝对定位 固定定位 z-index
- 2.8 CSS相对定位&&绝对定位&&固定定位&&z-index
- css 固定定位 相对定位 绝对定位
- css相对定位、绝对定位、固定定位
- css :相对定位,绝对定位,固定定位
- CSS相对定位|绝对定位(五)之z-index篇
- CSS相对定位|绝对定位(五)之z-index篇
- css中的float和相对定位,绝对定位,z-index
- CSS相对定位|绝对定位(五)之z-index篇
- 相对定位、绝对定位、z-index
- CSS的定位(绝对定位 相对定位 固定定位)
- CSS的定位(绝对定位 相对定位 固定定位
- css定位(相对定位、绝对定位、固定定位)
- CSS之定位,相对定位,绝对定位,固定定位
- 定位(相对、绝对)、z-index
- 详解CSS相对定位,绝对定位与固定定位
- How to set up Liferay DXP/7 on Linux
- Struts2图片验证码
- 如何putty安装php, apache, mysql(LAMP), 连接digital ocean server, 将自己的网站po上server
- 为什么要用session
- structs2学习(二):使用默认action
- 07 CSS-相对定位、绝对定位、固定定位、z-index
- 工作中常常使用的几种加密以及签名的方式:32位MD5
- 初探RecyclerView开发
- 微信6.0主界面的安卓实现
- HDFS介绍
- linux环境变量
- ZCMU—1623
- log4j日志时间与系统时间不一致问题解决方法
- QPrinter