• CSS中的绝对定位与相对定位


    P.S: 这是我刚刚在博客园里看到的文章,对我比较有用处,我就把它摘抄了下来。

    层级关系为:
    <div ——————————— position:relative; 不是最近的祖先定位元素,不是参照物
    <div—————————-没有设置为定位元素,不是参照物
    <div———————- position:relative 参照物
    <div box1
    <div box2 ——–position:absolute; top:50px; left:120px;
    <div box3
    效果图:

    为改变参照物(橘色框)后的效果
    层级关系为:
    <div ——————————— position:relative;最近的祖先定位元素,参照物
    <div—————————-没有设置为定位元素,不是参照物
    <div———————-没有设置为定位元素,不是参照物
    <div box1
    <div box2 ——–position:absolute; top:50px; left:120px;
    <div box3
    效果图:

    参照物为最顶级的元素情况
    层级关系为:
    <div ———————————没有设置为定位元素,不是参照物
    <div—————————-没有设置为定位元素,不是参照物
    <div———————-没有设置为定位元素,不是参照物
    <div box1
    <div box2 ——–position:absolute; top:50px; left:120px;
    <div box3
    效果图:

    仅使用margin属性布局绝对定位元素的情况
    此情况,margin-bottom 和margin-right的值不再对文档流中的元素产生影响,因为该元素已经脱离了文档流。另外,不管它的祖先元素有没有定位,都是以文档流中原来所在的位置上偏移参照物。  
    图9中,使用margin属性布局相对定位元素。
    层级关系为:
    <div ——————————— position:relative; 不是参照物
    <div—————————-没有设置为定位元素,不是参照物
    <div———————-没有设置为定位元素,不是参照物
    <div box1
    <div box2 ——–position:absolute; margin-top:50px; margin-left:120px;
    <div box3
    效果图:

    IE6的情况下,box2前面没有兄弟节点,则margin-left的值会出现双倍边距
    层级关系为:
    <div ——————————— position:relative; 不是参照物
    <div—————————-没有设置为定位元素,不是参照物
    <div———————-没有设置为定位元素,不是参照物
    <div box1
    <div box2 ——–position:absolute; margin-top:50px; margin-left:60px;
    <div box3
    效果图:

  • 相关阅读:
    ASP.NET连接数据库配置文件
    ASP.NET应用程序的文件类型及文件夹列表
    c#配置文件的简单操作
    js加载XML文件
    c#生成动态库并加载
    class和id的区别
    Div和Span的区别
    C#类和对象
    C#表达式和语句
    函数声明提升和变量提升
  • 原文地址:https://www.cnblogs.com/yuyu1993/p/5501164.html
Copyright © 2020-2023  润新知