1.相对定位

Position : relative ;

特点:

1 如果没有定位偏移量,对元素本身没有任何影响;

2 不使元素脱离文档流,空间是会被保留

3 不影响其他元素布局;

4 left、top、right、bottom是相对于当前元素自身进行偏移的。

代码:

初始效果为三个方形并列向下,对box2添加了相对定位,box2相对于本身left: 100px,发生位移后,box2实际占位为偏移前的原位置而非显示位置

运行效果:

2.绝对定位

Position : absolute ;

特点:

1 使元素完全脱离文档流;

2 使内联元素支持宽高 (让内联具备块特性);

3 使块元素默认宽根据内容决定(让块具备内联的特性);

4 如果有定位祖先元素相对于定位祖先元素发生偏移,没有定位祖先元素相对于整个文档发生偏移(绝对、相对、固定);

   注:如果祖先元素中有多个元素具备定位模式,那么是以离自己最近的祖先元素进行偏移。

初始代码:

初始效果:

当有定位祖先元素时,

代码:

对box2添加了绝对定位,对box2的祖先元素box1添加了相对定位,则box2相对于其祖先元素box1进行偏移, left: 10px; top: 10px;

运行效果:

当祖先元素中有多个元素具备定位模式时,

代码:

当祖先元素box1和body都具备定位模式时,box2是以离自己最近的祖先元素box1进行偏移, left: 20px; top: 20px;

运行效果:

当没有定位祖先元素时

代码:

对box2添加的绝对定位,此时没有定位祖先元素,box2相对于整个文档产生偏移

left: 0; top:0; 因此box2处于整个文档的左上角;

运行效果:

3.相对定位与绝对定位的区别

1. relative相对定位是占位的,当有left、right、top、bottom等属性发生使其产生偏移时,实际占位为偏移前的原位置而不是显示位置

2. absolute绝对定位是不占位的,不会影响其他元素位置。

4.定位和浮动的区别

浮动:解决左右排列的问题

定位:解决叠加排列的问题

逆战班2020

CSS相对定位与绝对定位的更多相关文章

  1. CSS相对定位与绝对定位详解

    相对定位和绝对定位,不改变元素的大小形状,只改变元素的位置. 相对定位和绝对定位是通过position属性来控制的,position属性的值为下面几种: 值 描述 absolute 使元素绝对定位,相 ...

  2. CSS——相对定位、绝对定位、固定定位

    相对定位: position:relative 当元素被设置相对定位或是绝对定位后,将自动产生层叠,他们的层叠级别自然的高于文本流,除非设置其z-index值为负值. 并且我们发现当相对定位元素进行位 ...

  3. z-index 可以使用负值,CSS相对定位、绝对定位利器

    很多技巧都是在工作中测试出来的,我搞DIV+CSS前端开发,现在是安卓收藏家,日常也有很多技巧,刚刚突然发现的这个技巧,真的很实用:Z-index值可以使用负值. z-index是个很强大的属性,是个 ...

  4. CSS相对定位、绝对定位

    CSS定位属性:position. 定位的基本思想:定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素或浏览器窗口本身的位置. position属性值:static.relativ ...

  5. css相对定位和绝对定位

    相对定位,是对原来元素的位置为参照物进行定位: 绝对定位,如果父级没有定位,则针对HTML为参照物进行定位:如果父级有定位,则针对父元素为参照物进行定位

  6. 详解div+css相对定位和绝对定位用法

    1.定位的专业解释: (1)语法 position:static|absolute|fixed|relative 从上面语法可以看出,定位的方法有很多种,它们分别是静态(static),绝对定位(ab ...

  7. 详解CSS的相对定位和绝对定位

    CSS的相对定位和绝对定位通常情况下,我们元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,to ...

  8. css之position相对定位和绝对定位

    一.position的四个值:static.relative.absolute.fixed. 绝对定位:absolute和fixed统称为绝对定位 相对定位:relative 默认值:static 二 ...

  9. CSS中相对定位与绝对定位

    看了几个讲解定位的博客,觉得还不错,分享之: 博客一:http://blog.sina.com.cn/s/blog_4bcf4a5e010008o0.html 文章中,主要需要参考的有两点: 1,相对 ...

随机推荐

  1. ThreadLocal源码分析-黄金分割数的使用

    前提 最近接触到的一个项目要兼容新老系统,最终采用了ThreadLocal(实际上用的是InheritableThreadLocal)用于在子线程获取父线程中共享的变量.问题是解决了,但是后来发现对T ...

  2. caffe solver configuration

    (用到一个加一个, 并非完整的介绍) lr_policy 基本的learning rate 在solver.prototxt中由参数base_lr配置. 配合lr_policy和其余的一些参数制定le ...

  3. Codeforces_814

    A.b序列从大到小填a序列中的0,在判断. #include<bits/stdc++.h> using namespace std; ],b[]; int main() { ios::sy ...

  4. WeChall_PHP 0817 (PHP, Exploit)

    I have written another include system for my dynamic webpages, but it seems to be vulnerable to LFI. ...

  5. python库之matplotlib学习---关于坐标轴

    首先定·定义x, y创建一个figure import numpy as np import matplotlib.pyplot as plt x = np.linspace(-1, 1, 10) y ...

  6. HTML5与HTML4的区别-----文档结构

    HTML5在结构和语法上做了大量的简化.当然,也提供了语义化的标签 结构上区别: 1.简化了文档声明语句     HTML5仅规定了一种:       <!DOCTYPE html> 2. ...

  7. python的Django构建web应用

    创建一个网上购物的网站 首先创建一个简单的python项目,然后在终端输入pip install django 安装Django框架 然后输入django-admin startproject pys ...

  8. 2019SACC中国系统架构师大会 day1总结

    早上:一. 爱奇艺的大数据中台战略: a) 介绍爱奇艺的产业文化.b) 通过大中台,可以进行部分数据的沉淀,用于后续的分析处理等等.. 从数据中台和业务中台,建立一种“苹果园“的生态系统.从原始的长视 ...

  9. 一台机器上同时运行两个tomcat

    修改conf/server.xml文件,修改地方有三处 如图

  10. vue路由--命名路由

    有时我们通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的时候.你可以在创建 Router 实例的时候,在 routes 配置中给某个路由设置名称. 我们直接在路由下 ...