博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
css格式与布局
阅读量:6879 次
发布时间:2019-06-27

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

我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,top这些偏移属性都是没有效果的,不会生效,比如你设置一个距离左边距偏移100px的声明:left:100px 那么这条声明不会起到任何效果。还有z-index属性在这时也不会生效。

也就是说我们平时如果不给某元素一个position属性的声明,那么它默认的就是我上述的这种情况,不过因为有了浮动,所以通常情况下我们还真不需要给元素设置position属性!
但是某些特殊的情况下,我们不得不用到position属性,position属性的relative和absolute值

相对定位:relative 

如果说我对某元素设置了相对定位,那么首先这个元素他会跟其它的元素一样,出现在文档流中它该出现的位置,然后,我们可以设置它的水平或垂直偏移量,让这个元素相对于它在文档流中的位置的起始点进行移动。有一点要注意, 在使用相对定位时,就算元素被偏移了,但是他仍然占据着它没偏移前的空间。这里值得注意的一点是:偏移可不是边距,跟边距是不一样的。

绝对定位:position:absolute

被设置了绝对定位的元素,在文档流中是不占据空间的,如果某元素设置了绝对定位,那么它在文档流中的位置会被删除,那这个元素到哪去了呢?它浮了起来,其实设置了相对定位relative时也会让该 元素浮起来,但它们的不同点在于,相对对定位不会删除它本身在文档流中占据的那块空间,而绝对定位则会删除掉该元素在文档流中的位置,完全从文档流中抽了出来,我们可以通过z-index来设置它们的堆叠顺序 。
首先,如果它的父元素设置了除static之外的定位,比如position:relative,或者position:absolute以及position:fixed,那么它就会相对于它的父元素来定位,位置通过left , top ,right ,bottom属性来规定,如果它的父元素没有设置定位,那么就得看它父元素的父元素是否有设置定位 ,如果还是没有就继续向更高层的祖先元素类推,总之它的定位就是相对于设置了除static定位之外的定位(比如position:relative)的第一个祖先元素,如果所有的祖先元素都没有以上三种定位中的其中一种定位,那么它就会相对于文档body来定位(并非窗口,相对于窗口定位的是fixed)。

转载于:https://www.cnblogs.com/zixuan0028/p/6590259.html

你可能感兴趣的文章
使用JavaMail发送邮件之发送带附件邮件二
查看>>
Linux新建文件和目录
查看>>
ACM图灵奖
查看>>
android安全机制——权限
查看>>
selenium中implicitly_wait对is_element_present()的影响.md
查看>>
省赛热身赛之 K-Nice
查看>>
windows 2008 r2 远程桌面一个用户多登录配置
查看>>
我的友情链接
查看>>
lvm
查看>>
CentOS6.5下安装tomcat7
查看>>
为程序设置超时
查看>>
通过持续ping来检测网络质量
查看>>
Android常用的一些服务demo源码
查看>>
最新推出SAP ECC EHP7最新版本IDES带演示数据,带开发ACCESS KEY。
查看>>
详细探究Spark的shuffle实现
查看>>
云桌面技术展望
查看>>
openstack 制作winserver2008_R2镜像 用cloudbase-init 实现第一次创建就注入密码(需登录)...
查看>>
Tengine (淘宝nginx ) + tomcat 安装整合 后篇+ 高可用和负载均衡
查看>>
『AngularJS』创建 Service
查看>>
linux 修改桌面背景
查看>>