[TOC]
>[info]CSS 為定位和浮動提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來通常需要使用多個表格才能完成的任務。 定位的基本思想很簡單,它允許你定義元素框相對于其正常位置應該出現的位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身的位置。顯然,這個功能非常強大,也很讓人吃驚。要知道,用戶代理對 CSS2 中定位的支持遠勝于對其它方面的支持,對此不應感到奇怪。
### 相對定位
>[danger]相對定位是參照元素原來的位置進行移動,元素原有的空間位不變,元素在移動時會蓋住其他元素。
~~~
<style type="text/css">
p {position: relative;}
</style>
~~~
### 絕對定位
>[danger]絕對定位是元素完全脫離文檔流,頁面中的其他元素視他不存在,也就是說絕對定位元素不會影響到其他元素。
~~~
<style type="text/css">
p {position: absolute;}
</style>
~~~
### 固定定位
>[danger]固定定位是元素完全脫離文檔流,參照于可視區域,固定在可視區域中。
~~~
<style type="text/css">
p {position: fixed;}
</style>
~~~
## 關于定位的說明
* 相對定位是參照元素在空間中的原有位置。
* 絕對定位是參照距離他最近的有定位屬性的父級元素,如果父級元素沒有定位屬性,則會參照文檔。
* 一般我們設置絕對定位時,都會找一個合適的父級將其設置為相對定位,不過最好為這個具有相對定位屬性的 父級設置寬高這樣在各個瀏覽器中表現不會出現問題。
## 層級Z-index
* 定義屬性是脫離文檔流的,也就是說他有可能蓋住其他元素。
* 如果有多個定義屬性存在,那么相互間就會存在遮擋的情況。
* 可以通過修改元素的Z-index屬性來設置元素疊放的層 次,z-index值越高就會越在最上面。
~~~
<style type="text/css">
p{z-index: 999;}
</style>
~~~
>[danger]**作業:**理解定位的原理,分別練習三種定位用途,把定位運用在開發中。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板