首页  >  文章  >  web前端  >  css_position的相关用法_html/css_WEB-ITnose

css_position的相关用法_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:38:54870浏览

简介

position用于固定位置,是尤为重要的一个属性

其值可以为:

  • static: 默认值,忽略top, bottom, left, right 或者 z-index 声明
  • relative: 相对于该父级区域以及上一个子集区域的定位,用top, bottom, left, right来设定,可以使用Z-index
  • absobute: 相对于该父级区域的位置【左上角】的定位,用top, bottom, left, right来设定,可以使用z-index
  • fixed: 相对于浏览器的定位,忽略父级位置等的其他位置,可以使用Z-index
  • inherit: 继承父级position的属性
  • 具体

     1 <style type="text/css"> 2 div 3 { 4 position:100px 100px; 5 width:100px; 6 height:100px; 7 border:5px solid black; 8 } 9 div.pos_left10 {11 position:relative;12 left:-20px;13 border:5px solid green;14 }15 div.pos_right16 {17 position:relative;18 left:20px;19 border:5px solid green;20 }21 div.pos_ab22 {23 position:absolute;24 left:30px;25 top:50px;26 border:5px solid blue;27 }28 div.main29 {30 position:absolute;31 left:100px;32 top:50px;33 width:200px;34 height:300px;35 border:5px solid red;36 }37 div.pos_fix38 {39 position:fixed;40 left:10px;41 top:0px;42 clip:rect(0px 50px 200px 0px);43 }44 </style>45 </head>46 47 <body>48 <div class="main">49     <div>1.normal</div>50     <div class="pos_left">2.re-left:-20px</div>51     <div class="pos_right">3.re-left:20px</div>52     <div class="pos_ab">4.ab-(left:30px,top:50px)</div>53     <div class="pos_right">5.re-left:20px</div>54     <div class="pos_fix">6.fix-(left:30px,top:50px)</div>55 </div>


    其中:

  • 【2】,【3】,【5】 为relative
  • 当设定position: relative 

    则参照父级中上一个子元素的内容区的左上角为原始点结合TRBL属性进行定位。无父级则以BODY的左上角为原始点

     

    ?? 必须注意的是,相对与上个子元素的左上角,并非图片上2对3显示的左上角而言,而是,若【2】为static,不进行TRBL变换位置时候的左上角。

    ??即,relative的元素其即使进行TRBL变换,但是占有的区间还是 原本的区间,因此会对其他元素覆盖。

    较明显的显示:

    将图中【2】:

    position:relative;
    left:-20px;
    top:-50px;

     

    则:

     

    图中包含【2】与【3】上下空白区域的一个区域为【2】真正占有的空间

     

  • 【4】为absolute
  • 当设定position: relative

    则参照父级中左上角为原始点结合TRBL属性进行定位。无父级则以浏览器的左上角为原始点

    同时我们由relative属性的【5】看出 ?? 【5】是相对【3】的空间而言的

                                                   ?? absolute相当于直接覆盖而不占有真正的空间

     

  • 【4】为absolute
  • 当设定position: relative ?? 则以浏览器的左上角为原始点

    此外
  • 只有当设定TRBL属性(TOP、RIGHT、BOTTOM、LEFT)时,relative,absolute,fixed才有效,不然将遵从正常的HTML布局规则,在前一个对象之后立即被呈递。 
  • 页面居中显示时一般不用absolute,因为放缩时,absolute会以浏览器的左上角为顶点,当然也可将其固定在一个父级区域中,固定宽度来解决
  • 【6】中所用到的 clip:rect(0px 50px 200px 0px); 可以对区域进行裁剪
  • z-index,可设置层数,高数值的元素总是会处于低数值元素的上面【只有position属性值为absolute、relative或fixed时才有效】
  •  

     

     

    声明:
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn