Home  >  Article  >  Web Front-end  >  css_position的相关用法_html/css_WEB-ITnose

css_position的相关用法_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:38:54870browse

简介

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时才有效】
  •  

     

     

    Statement:
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn