yongquanx 2017-02-14
position属性规定元素的定位类型。
所以的主流浏览器都能够很好的支持position属性。
任何版本的IE浏览器(Internet Explorer),包括IE8都 不支持position属性值“inherit”。
一下五个值是position属性常用的:
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属性的值。
示例:
相对定位
<html> <head> <style type="text/css"> h2.pos_left { position:relative; left:-20px } h2.pos_right { position:relative; left:20px } </style> </head> <body> <h2>这是位于正常位置的标题</h2> <h2 class="pos_left">这个标题相对于其正常位置向左移动</h2> <h2 class="pos_right">这个标题相对于其正常位置向右移动</h2> <p>相对定位会按照元素的原始位置对该元素进行移动。</p> <p>样式 "left:-20px" 从元素的原始左侧位置减去 20 像素。</p> <p>样式 "left:20px" 向元素的原始左侧位置增加 20 像素。</p> </body> </html>
绝对定位
<html> <head> <style type="text/css"> h2.pos_abs { position:absolute; left:100px; top:150px } </style> </head> <body> <h2 class="pos_abs">这是带有绝对定位的标题</h2> <p>通过绝对定位,元素可以放置到页面上的任何位置。下面的标题距离页面左侧 100px,距离页面顶部 150px。</p> </body> </html>
固定定位
<html> <head> <style type="text/css"> p.one { position:fixed; left:5px; top:5px; } p.two { position:fixed; top:30px; right:5px; } </style> </head> <body> <p class="one">一些文本。</p> <p class="two">更多的文本。</p> </body> </html>
设定元素形状
<html> <head> <style type="text/css"> img { position:absolute; clip:rect(0px 50px 200px 0px) } </style> </head> <body> <p>clip 属性剪切了一幅图像:</p> <p><img border="0" src="/i/eg_bookasp.gif" width="120" height="151"></p> </body> </html>
z-index
<html> <head> <style type="text/css"> img.x { position:absolute; left:0px; top:0px; z-index:-1 } </style> </head> <body> <h1>这是一个标题</h1> <img class="x" src="/i/eg_mouse.jpg" /> <p>默认的 z-index 是 0。Z-index -1 拥有更低的优先级。</p> </body> </html>
(来自:http://www.w3school.com.cn/cssref/pr_class_position.asp)