~~~
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">關于CSS定位,有人很多時候都是隨便用用,符合自己的要求就行。但是CSS中的position等屬性確實有很多需要認真考究的地方。</span>
~~~
1.position:static
static屬性是position的默認值,也就是說,當一個元素沒有為其設定position屬性時,它的默認值就是static。
2.position:absolute
這是一個經常會被用到的position屬性值。如果為某個元素設定了absolute,則該元素脫離原來的文檔流。形象一些說,比如a元素被定義了position:absolute,那么這個元素就不會與這個頁面中的其他元素發生位置上的關系,而是凌駕于整個頁面之上的漂浮狀態。頁面中的其他元素的位置變化、大小變化等,都不會影響a元素的位置,相當于一個局外人。
3.position:relative
relative是最有用的定義方法。設置了relative屬性表示,該元素相對于自己原來位置發生的變化。比如,我們定義了一個b元素,給它設定如下css樣式:
~~~
#b{
position: relative;
width:100px;
height:100px;
top:100px;
}
~~~
該段代碼定義的b元素,它的位置為相對于沒有定義position屬性的位置向下移動100px的距離。relative屬性值的定義就是這樣的定位模式。
4.position:fixed
fixed定位用的不多,但是它非常適用于固定模式的部分制作,比如頂部菜單。定義了fixed屬性后,元素的位置不會隨著任何行為發生變化。
5.relative+position
同時使用這兩個定位,是一種很常用的手法,新手也可能會在此處遇見很多麻煩。總體來說,如果一個元素絕對定位后,其參照物是以離自身最近元素是否設置了相對定位,如果有設置將以離自己最近元素定位,如果沒有將往其祖先元素尋找相對定位元素,一直找到html為止。比如,下面的代碼利用二者的結合實現了一個兩列布局;
~~~
<span style="white-space:pre"> </span>#div-1 {
position:relative;
}
#div-1a {
position:absolute;
top:0;
right:0;
width:200px;
}
#div-1b {
position:absolute;
top:0;
left:0;
width:200px;
}
~~~
內部的兩個子div會根據其外部定位為relative的元素為參照進行絕對定位。
6.clear:both清除浮動
有的時候定位會出現塌陷現象,即子元素在父元素中,但是父元素的大小不會隨著子元素的大小而被“”撐開“,導致了父元素的塌陷效果。這種bug的出現是由于子元素設定了 float屬性,導致父元素的坍塌。要想解決這種bug,需要為父元素設定清除浮動。示例代碼如下:
~~~
<span style="white-space:pre"> </span> #div-1a {
float:left;
width:190px;
}
#div-1b {
float:left;
width:190px;
}
#div-1c {
clear:both;
}
~~~
- 前言
- Jquery Mobile入門筆記
- 豆瓣API使用介紹及通過ajax跨域獲取url的json數據的方法
- jQuery插件實戰:slider.js/jquery.validate/jRating介紹
- HTML5能為我們帶來什么
- js字符串主要操作方法
- jquery實現全文檢索與鼠標滑過工具欄特效
- HTML5移動開發常用——XML基本知識介紹
- HTML5移動開發實戰必備知識——本地存儲(1)
- HTML5本地數據庫詳解
- 前端素材解析—利用linear制作復雜的邊框效果
- HTML5開發移動web應用—JQuery Mobile(3)-列表
- Angular.js回顧+學習筆記(1)【ng-app和ng-model】
- HTML5開發移動web應用—JQuery Mobile(4)-事件
- CSS定位中的必須深究的常用技法
- Angular.js中的指令——易懂全解析
- 實踐中學習AngularJS中的表單
- 高效利用Angular中內置服務
- 利用Angular.js從PHP讀取后臺數據