国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

css關于position屬性的用法詳解(絕對定位和相對定位的混淆)

2024-07-11 08:32:30
字體:
來源:轉載
供稿:網友

挺久沒用,有點忘了關于position這個屬性的用法,導致在練手的時候又犯了跟最開始新手才會犯的錯誤,那就是absolute和relative的用法。

在此首先看一下官方對這兩個屬性值的解釋:

position 屬性值的含義:

static

元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內元素則會創建一個或多個行框,置于其父元素中。

relative

元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。

absolute

元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。

fixed

元素框的表現類似于將 position 設置為 absolute,不過其包含塊是視窗本身。

事實上默認的static和fixed這兩種情況是比較容易辨別的,而容易混淆的是relative和absolute。

用更簡單的說法就是absolute是將原本在文檔流中所占的位置去掉,并以第一個非static定位的父元素進行定位,一般這樣我們都會用top,left等來控制位置,這就是絕對定位。

而relative這種定位方式則是,在原有的文檔流位置(也就是未設置POSITION屬性的時候的位置)基礎上移動。

所以當我們一般需要讓某些元素隨父元素移動而不會因為瀏覽器窗口大小變動而變形時,一般我們會把父元素定義為relative,而子元素定義為absolute,也就是說absolute是以第一個非static定位的父元素作為參考對象。

而一般我們會讓內容居中,讓margin:0 AUTO;就好了。

至于top和margin-top的區別,有些人可能分不清什么時候用,經常會用margin-top來實現定位,事實上這種做法是錯誤的,margin它是外邊距,是占內容的,往往用這個來勉強實現定位都會使其他元素位置改變或導致其他效果,而這個效果并非我們想要的。

所以要認清absolute和relative的區別和用法,加上TOP LEFT RIGHT BOTTOM來定位就可以減少錯誤了。

順帶一提,CSS3之后多了挺多新屬性的,自己還沒一個個看,暫時記一下,background-size:cover;這個是本身就有還是后來才有的?我用DW8的時候并沒有這個屬性提示;

另外CSS3有很多屬性IE是不能支持的,即使有那也是9甚至10以上才能兼容,所以在寫的時候要注意瀏覽器的判斷,根據不同瀏覽器設計不同的樣式

<!--[if !IE]><!--> 除IE外都可識別 <!--<![endif]-->
<!--[if IE]> 所有的IE可識別 <![endif]-->
<!--[if IE 6]> 僅IE6可識別 <![endif]-->
<!--[if lt IE 6]> IE6以及IE6以下版本可識別 <![endif]-->

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 攀枝花市| 大理市| 桃源县| 广德县| 中江县| 工布江达县| 隆化县| 林芝县| 仪征市| 凉山| 天气| 江城| 福海县| 凉城县| 碌曲县| 莎车县| 南郑县| 岳阳市| 南木林县| 雅安市| 陕西省| 屏东县| 进贤县| 库尔勒市| 石棉县| 陆川县| 南皮县| 诸城市| 古蔺县| 敖汉旗| 临江市| 互助| 湛江市| 长沙县| 绥滨县| 视频| 康乐县| 泽州县| 怀宁县| 上高县| 天门市|