一、relative和absolute相煎关系
relative限制absolute
1、限制left/top/right/bottom定位
  如果父元素有relative,只能根据父元素进行定位
2、限制z-index层级
  如果relative有z-index,absolute的z-index失效
3、限制在overflow下的嚣张气焰
  overflow:hidden是防止不了absolute的溢出的。但是配合relative的overflow是可以防止溢出的
relative限制fixed: 只能限制z-index层级
二、relative和定位
两个特性
1、相对自身
left:0,top:0相对自身。其实就是纹丝不动。
relative配合margin定位
<style>
  div{
    width: 300px;
    height: 50px;
    background: #eee;
    margin-top:20px;
  }
</style>
<body>
  <div></div>
  <div style="position:relative; margin-top:-30px; background: red;"></div>
  <div></div>
</body>
后面的元素会跟上去,若不是margin-top,而是top
<style>
  div{
    width: 300px;
    height: 50px;
    background: #eee;
    margin-top:20px;
  }
</style>
<body>
  <div></div>
  <div style="position:relative; top:-30px; background: red;"></div>
  <div></div>
</body>
第三个元素纹丝不动。
2、无侵入
不会影响其他布局,自己怎么定,其它元素纹丝不动
应用:自定义拖拽
3、top/bottom和left/right对立属性同时存在时的表现是?
绝对定位是拉伸,相对定位是斗争。怎么斗争。如果先设置了top,bottom无效。如果先设置了left,right无效
<style>
  div{
    width: 300px;
    height: 50px;
    background: #eee;
    margin-top:20px;
  }
</style>
<body>
  <div></div>
  <div style="position:relative; top:-30px; bottom:30px; background: red;"></div>
  <div></div>
</body>
执行的是top:-30px。先设置者优先,而不是覆盖。
三、relative和层级
1、提高层迭上下文
  在没有其它外力作用下,一般都是后面的元素覆盖前面的。但是想前面的上前。前面的配合z-index就能起作用。单独的z-index是无效的
2、新建层叠上下文与层级控制
  relative+z-index:auto,不会限制absolute,默认是auto的(不包括ie6,7)
四、relative的最小化影响准则
尽量降低relative属性对其他元素或布局的潜在影响!
1、在可以单独使用absolute解决问题的时候,不要使用relative,如有偏差,可以配合margin使用
2、一定要使用relative的时候,要保证作用范围最小化

css relative的更多相关文章

  1. css relative设置top为百分比值

    前言: 最近在学习HTML.CSS的过程中,想模仿一下百度首页.发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来. 效果实现 <!D ...

  2. CSS 相对/绝对(relative/absolute)定位系列(四)——张鑫旭

    前三篇(1, 2, 3)都是介绍的absolute属性,终于,轮到本文讲讲relative相对定位. 一.relative属性的形象化思维 relative是个看上去低调,有些特殊才能,气场强大,有着 ...

  3. CSS系列:CSS中盒子的浮动与定位

    1. 盒子的浮动 在标准流中,一个块级元素在水平方向会自动伸展,知道包含它的元素的边接:而在竖直方向与相邻元素依次排列,不能并排. CSS中float属性,默认为none.将float属性的值设置为l ...

  4. absolute和relative的几个Demo

    这些例子最好通过FireFox结合FireBug调试查看 1.absolute让元素inline-block化 <!DOCTYPE html> <html xmlns="h ...

  5. Css定位-定位

    在CSS中一共有N种定位方式,其中,static ,relative,absolute三种方式是最基本最常用的三种定位方式.他们的基 本介绍如下. static默认定位方式 relative相对定位, ...

  6. 简明的例子讲解position:relative、float、overflow:hidden和inline-block

    标签(空格分隔): css relative float 我们通过一个简单的实验来了解position:relative float overflow:hidden 和 inline-block. 下 ...

  7. RPO(Relative Path Overwrite)

    Conception(Relative vs Absolute) Abosolute Path: "/etc/hosts"(in Linux), "C:\Windows\ ...

  8. [转]【Angular4】基础(二):创建组件 Component

    本文转自:https://blog.csdn.net/u013451157/article/details/79445138 版权声明:本文为博主原创文章,未经博主允许不得转载. https://bl ...

  9. position属性详解

    内容: 1.position属性介绍 2.position属性分类 3.relative相对定位 4.absolute绝对定位 5.relative和absolute联合使用进行定位 6.fixed固 ...

随机推荐

  1. oracle12C--DG搭建配置

    一,主库前期操作 搭建的话和11g差不多,点点点. 两台服务器,一台主库,一台从库 01,配置主库hosts cat /etc/hosts 192.168.0.31 node12c01 192.168 ...

  2. oracle 集群RAC搭建(四)--grid部署

    安装教程:

  3. DNS服务器设置

    1,域名解析:ip能够访问,但是域名不能访问. 2,配置好网络之后,切换到命令行模式,配置好的网络便不能用了. 具体方法: 打开vim /etc/sysconfig/network-scripts/i ...

  4. Android:Sqlitedatabase学习小结

    今天刚刚学习完Sqlite数据库的基础知识,随即把学到的东西记录下来,以便随后查阅,以下是自己对Sqlite数据库的小结:1.Sqlite简介       Sqlite是一款轻型的数据库,它包含在一个 ...

  5. springsource-tool-suite下载(sts)

    1 新版本的插件下载 1 直接进入官网下载即可 官网地址:http://spring.io/tools/sts/all. 2 spring官网上下载历史版本的spring插件 1 获取新版本的插件的地 ...

  6. js中防止事件传播的方法

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. Web程序中使用EasyUI时乱码问题

    今天偶然遇见使用easyUI时,弹窗和分页都是乱码的问题,耗费了很长的时间来解决,以此记住这个坑. 相信大家都会在使用easyUI时都会设置这样一句: 那么就有可能出现设置中文后的乱码问题,如下图: ...

  8. 项目在低版本浏览器下不兼容?友情提示客户升级浏览器(以下只针对IE浏览器)

    (function (window) { var win = window, sys = {}, ua = navigator.userAgent.toLowerCase(); (/msie\s+(\ ...

  9. html-超链接标签

    链接资源 - <a href="01-hello.html">只是一个超链接1</a> ** href:链接的资源的地址 ** target:设置打开的方式 ...

  10. eclipse的应用和整理

    1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...