zoukankan      html  css  js  c++  java
  • 对position的理解

    作者:zccst

    先看看手册

    描述

    absolute

    生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    fixed

    生成绝对定位的元素,相对于浏览器窗口进行定位。

    元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

    relative

    生成相对定位的元素,相对于其正常位置进行定位。

    因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

    static

    默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

    inherit

    规定应该从父元素继承 position 属性的值。

    1,relative

    相对自己以前的位置偏移。

    设置了top和left后,元素没有脱离文档流,仍然占用原来的位置。

    2,absolute

    脱离文档流,不再占用原来的位置。

    1.首先不要用层叠这个词,容易把关系搞混 
    2.absolute是受parentNode的position影响的 
      parentNode的position不是relative,那absolute的绝对对象是针对body的 
      parentNode的position  是relative,那absolute的绝对对象是针对parentNode的 
      也就是说absolute的绝对是有参照Node的 
    3.对于复杂的position关系,要从parentNode的position的设置逐次的推下来 
    4.relative的node的尺寸会影响parentNode的尺寸,也就是说relative即定位也占位 
      absolute的node的尺寸不影响parentNode的尺寸,也就是说absolute只定位不占位 
    5.z-index只对absolute的node有效

    几个更深入的问题:

    问:如果即设置了left又设置了right,到底以哪个位置呢?

    答:以left位置。同理top和bottom,以bottom为准。

    例子:

    <style type="text/css">
    body {  
     margin:0px;  
     font-size: 9pt;  
     line-height:12pt;  
     margin-top: 150px;  
     margin-left: 150px;  
    }  
    .box1 {  
     background-color: #33CCFF;  
     width: 200px;  
     height: 200px;  
    }  
    .box2 {  
     background-color: #CC99FF;  
     height: 100px;  
     width: 100px;  
     position:relative;  
     right:200px;/*此值总被认为是-left=-10px,所以你怎么改它都不会影响到布局*/  
     left:10px;/*这里设定了两个定位值,但是它们是矛盾的,所以此时将以左边为准,如果是上下类型错误,则以上边定位数值为准*/  
      
    }  
    </style>
    <script type="text/javascript">  
    
    </script>
    </head>
    <body>
    
    <div class="box1">  
      <div class="box2"></div>  
    </div> 

      

    <style type="text/css">  
    <!--  
    *{  
     margin:0px;  
     padding:0px;  
    }  
    body {  
     margin:10px;  
     font-size: 13px;  
    }  
    a:link {  
     color: #666;  
     text-decoration: none;/*去除链接下划线*/  
    }  
    a:visited {  
     color: #666;  
     text-decoration: none;  
    }  
    a:hover {  
     color: #F90;  
    }  
    h3 {  
     color: #FFF;  
     background-color: #F90;  
     width: 100px;  
     padding-top:3px;  
     text-align:center;  
    }  
    ul {  
     width: 300px;  
     border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/  
    }  
    ul li {  
     padding:5px;  
     border-bottom: 1px solid #CCC;  
     list-style:none;/*去除列表样式,这对于标准浏览很重要*/  
    }  
    a {  
     position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/  
     display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/  
    }  
    a div {  
     display: none;/*初始化信息面板不显示*/  
    }  
    a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/  
    a:hover div {  
     position: absolute;  
     padding:5px;  
     display:block;  
     width: 245px;/*只给出宽度,高让它随内容多少自动调整*/  
     left:150px;/*这是相对父级A的定位*/  
     top: 20px;  
     border: 1px solid rgb(91,185,233);  
     background-color: rgb(228,246,255);  
     z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/  
    }  
    a img {  
     width:80px;  
     height:80px;  
     border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/  
     display:block;  
     position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/  
     top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/  
     left:5px;  
    }  
    dl {  
     width: 160px;  
     float:right;  
     color: #999;  
     line-height:20px;  
    }  
    dl dd span {  
     font-weight: bold;  
     color: #639;  
    }  
    -->  
    </style>  
    </head>  
      
    <body>  
    <h3>最新单曲</h3>  
    <ul>  
      
    <li><a href="#">01 爱的文身 黄圣依<div><img src="http://imgcache.qq.com/music/photo/singer/54/singerpic_5554_0.jpg" alt="" />  
    <dl>  
     <dd><span>歌名:</span>爱的文身</dd>  
     <dd><span>歌手:</span>黄圣依</dd>  
     <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd>  
    </dl></div></a></li>  
      
    <li><a href="#">02 累了 阿信<div><img src="http://imgcache.qq.com/music/photo/singer/47/singerpic_6547_0.jpg" alt="" />  
    <dl>  
     <dd><span>歌名:</span>累了</dd>  
     <dd><span>歌手:</span>阿信</dd>  
     <dd><span>介绍:</span>青春校园偶像剧----【熱情仲夏】片尾曲</dd>  
    </dl></div></a></li>  
      
    <li><a href="#">03 漫漫 慢慢 阿朵<div><img src="http://imgcache.qq.com/music/photo/singer/61/singerpic_6361_0.jpg" alt="" />  
    <dl>  
     <dd><span>歌名:</span>漫漫 慢慢</dd>  
     <dd><span>歌手:</span>阿朵</dd>  
     <dd><span>介绍:</span>阿朵抢听版最新单曲《漫漫 慢慢》让你认识阿朵柔情的一面,展现阿朵百变的风格。</dd>  
    </dl></div></a></li>  
      
    <li><a href="#">04 我怀念的 孙燕姿<div><img src="http://imgcache.qq.com/music/photo/singer/9/singerpic_109_0.jpg" alt="" />  
    <dl>  
     <dd><span>歌名:</span>我怀念的</dd>  
     <dd><span>歌手:</span>孙燕姿</dd>  
     <dd><span>介绍:</span>令人感同身受的抒情歌,在故事性的架构中,有着平凡但又能扣人心弦的情感,是一首高度共鸣的抒情歌。</dd>  
    </dl></div></a></li>  
      
    <li><a href="#">05 听,花期越来越近 后弦<div><img src="http://imgcache.qq.com/music/photo/singer/33/singerpic_4733_0.jpg" alt="" />  
    <dl>  
     <dd><span>歌名:</span>花期越来越近</dd>  
     <dd><span>歌手:</span>后弦</dd>  
     <dd><span>介绍:</span>后弦参与《花开的声音》这个舞台剧里的一部分,邀请了后弦去演唱这首歌,此歌就是为舞台剧《花开的声音》而创作。</dd>  
    </dl></div></a></li>  
      
    </ul>  
  • 相关阅读:
    下载ORACLE中BLOB内容到客户端
    VIEW_PK
    带下拉框的GridView的OnRowEditing
    HyperLinkField
    ArcEngine开发 退出系统报错
    【转载】Winform 中的控件透明设置要点
    【转载】大整数相乘
    c# oracle 分页
    view_fk
    ITopologicalOperator Intersect
  • 原文地址:https://www.cnblogs.com/zccst/p/3643703.html
Copyright © 2011-2022 走看看