CSS Positioning(定位)

CSS Positioning(定位)

CSS Position 定位屬性

  本篇文章主要介紹元素的Position屬性,此屬性可以設定元素在頁面的定位方式。

目錄

1. 介紹 position:介紹position的值以及輔助屬性。

2. position 定位方式:介紹position的四種定位方式:絕對、相對、固定、預設。

3. 總結 position:以範例的方式展示position。

1. 介紹

1.1 說明

Position 屬性:規定元素的定位類型。即元素脫離文檔流的佈局,在頁面的任意位置顯示。

1.2 主要的值

①absolute :絕對定位;脫離文件流的佈局,遺留下來的空間由後面的元素填滿。定位的起始位置為最近的父元素(postion不為static),否則為Body文檔本身。

②relative :相對定位;不脫離文檔流程的佈局,只改變自身的位置,在文檔流程原先的位置遺留空白區域。定位的起始位置為此元素原先在文檔流的位置。

③fixed :固定定位;類似absolute,但不會隨著捲軸的移動而改變位置。

④static :預設值;預設佈局。

1.3 輔助屬性

position屬性只是讓元素脫離文件流,要想此元素能依照希望的位置顯示,就需要使用下面的屬性(position:static不支援這些):

①left : 表示向元素的左邊插入多少像素,使元素向右移動多少像素。

②right :表示要向元素的右邊插入多少像素,使元素向左移動多少像素。

③top :表示在元素的上方插入多少像素,使元素向下移動多少像素。

④bottom :表示在元素的下方插入多少像素,使元素向上移動多少像素。

上面屬性的值可以是負,單位:px 。

position:absolute

絕對定位;脫離文件流的佈局,遺留下來的空間由後面的元素填滿。定位的起始位置為最近的父元素(postion不為static),否則為Body文檔本身。 position:relative

position:relative

相對定位;不脫離文件流的佈局,只改變自身的位置,在文檔流原先的位置遺留空白區域。定位的起始位置為此元素原先在文檔流的位置。

position:fixed

已固定定位;類似absolute,但不隨著捲軸的移動而改變位置。

實際應用:

①登入框覆蓋層:如dz論壇的登入。

②虛假QQ訊息廣告。

position:static

預設定位,表示此元素為預設定位方式。

實際應用:

IE6的特殊處理。

捲軸是否出現

當含有position屬性的元素為最邊緣元素時:

①absolute 和 relative :含有此2個值的邊緣元素,瀏覽器縮小到此元素不可見時,會出現捲軸。

②fixed :含有此值的邊緣元素,瀏覽器縮小到此元素不可見時,不會出現捲軸。

<html>
<head>
<meta charset="utf-8">
    <title>position</title>
    <style type="text/css">
        div
        {
            height: 200px;
            width: 300px;
            border-color: Black;
            border-style: solid;
            border-width: 1px;   
         }
         #a
        {
            position:absolute;
            left:900px;
            top:150px;
        }
        #b
        {
            position:relative;
            left:500px;
            top:100px;
        }
        #c
        {
            position:fixed;
            left:970px;
            top:400px;
         }
         #d
         {
            position:static;    
            background-color:Window;    
         }
    </style>
</head>
<body>
  <div id="a" >
    div-a<br />
    position:absolute;<br />
    绝对定位;脱离文档流,遗留空间由后续元素填充。
  </div>
  <div id="b" >
    div-b<br />
    position:relative;<br />
    相对定位;不脱离文档流,只改变自身的位置,在文档流原先的位置遗留空白区域。
  </div>
  <div id="c" >
    div-c<br />
    position:fixed;<br />
    固定定位;固定在页面中,不随浏览器的大小改变而改变位置。
  </div>
  <div id="d">默认定位方式</div>
  <input type="text" value="input1" />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
</body>
</html>


#
繼續學習
||
<html> <head> <meta charset="utf-8"> <title>position</title> <style type="text/css"> div { height: 200px; width: 300px; border-color: Black; border-style: solid; border-width: 1px; } #a { position:absolute; left:900px; top:150px; } #b { position:relative; left:500px; top:100px; } #c { position:fixed; left:970px; top:400px; } #d { position:static; background-color:Window; } </style> </head> <body>   <div id="a" >     div-a<br />     position:absolute;<br />     绝对定位;脱离文档流,遗留空间由后续元素填充。   </div>   <div id="b" >     div-b<br />     position:relative;<br />     相对定位;不脱离文档流,只改变自身的位置,在文档流原先的位置遗留空白区域。   </div>   <div id="c" >     div-c<br />     position:fixed;<br />     固定定位;固定在页面中,不随浏览器的大小改变而改变位置。   </div>   <div id="d">默认定位方式</div>   <input type="text" value="input1" /> <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> </body> </html>