码迷,mamicode.com
首页 > Web开发 > 详细

css_position的相关用法

时间:2015-08-14 00:56:07      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

简介

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_left
10 {
11 position:relative;
12 left:-20px;
13 border:5px solid green;
14 }
15 div.pos_right
16 {
17 position:relative;
18 left:20px;
19 border:5px solid green;
20 }
21 div.pos_ab
22 {
23 position:absolute;
24 left:30px;
25 top:50px;
26 border:5px solid blue;
27 }
28 div.main
29 {
30 position:absolute;
31 left:100px;
32 top:50px;
33 width:200px;
34 height:300px;
35 border:5px solid red;
36 }
37 div.pos_fix
38 {
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时才有效
 
 
 

css_position的相关用法

标签:

原文地址:http://www.cnblogs.com/alia/p/4728834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!