一、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. springboot+Zookeeper+Dubbo入门

    最近想学习dubbo,就利用周末写了一个特别简单的demo,不知道有没有用,先记录一下. 1.安装zookeeper并启动(安装看我上一篇博客https://www.cnblogs.com/huang ...

  2. IE Error: '__doPostBack' is undefined 问题解决

    突然遇到个很奇怪的BUG,翻页控件,其他浏览器一切正常,IE无法翻页,会提示 '__doPostBack' is undefined 后来搜索发现: [原文發表地址] Bug and Fix: ASP ...

  3. 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  4. IDEA 14.0 (默认模式) 快捷键

    IDEA 14.0 (默认模式) 快捷键 1.Alt+Shift+R:重命名变量名.类名.方法名(使用已经使用过的) 2.Ctrl+O :重写方法 3.Alt+Shift+P :实现接口 4.Alt+ ...

  5. 11、幻灯片:Slides

    /* ---ts----*/ import { Page,Slides } from 'ionic-angular'; import { ViewChild } from '@angular/core ...

  6. setInterval()的三种写法

    前言: setInterval("fun()",time)有两个参数:fun()为要执行的函数:time为多久执行一次函数,单位是毫秒: 我们做一个简单的例子,就是每隔5s弹出一个 ...

  7. 关于controller和apicontroller的跨域实现过滤器的不同

    1.controller的跨域访问 filter的实现请继承System.Web.Mvc.ActionFilterAttribute 2.apicontroller的跨域访问 filter的实现请继承 ...

  8. Cocos2d-js 开发记录:自定义按钮

    游戏开发总是有些特殊,一般的预制的UI无法满足要求.其实对于不复杂的功能,与其看文档还不如自己写一个.比如游戏中一个虚拟键盘,其中的按键在按下时会增长,变为原来的两倍高度,在原来高度上方显示按键的字如 ...

  9. WSAAsyncSelect 消息模型

    select 模型虽然可以管理多个socket,但是它涉及到一个时机的问题,select模型会针对所管理的数组中的每一个socket循环检测它管理是否在对应的数组中,从时间复杂度上来说它是O(n^2) ...

  10. 从零开始的全栈工程师——利用CSS3画一个正方体 ( css3 )

    transform属性 CSS3的变形(transform)属性让元素在一个坐标系统中变形.transform属性的基本语法如下: transform:none | <transform-fun ...