(1) static : 常規框,預設值。
(2) relative : 相對定位,在元素沒有定位之前的位置上進行定位,並且它原本所佔的空間仍為其保留。
(3) absolute : 絕對定位,在沒有設定left,top,bottom,right時,它將在沒有定位之前的位置上脫離文件流,不佔空間,後面的元素將會替代它的位置,並且有層級的概念。它總是在文件流的上面,除非手動設定z-index屬性。如果設定了left,top,bottom,right時,它將按照設定進行定位,如果它不是在乙個定位的父元素裡面(除static外),那麼它的起點將在視窗的左上角,反之,它的起點將在父元素的位置上進行定位。乙個行內元素,一旦設定了此屬性,則會轉變成塊元素。
(4) fixed : 固定定位,參照物是按照瀏覽器視窗定位,設定了fixed的元素就像被固定住了一樣,它不會隨著滾動條的滾動而滾動。乙個行內元素設定了此屬性後,將被轉變成塊元素。將乙個元素的position屬性設定為static,和不設定的效果是相同的。因為當不設定position屬性時,預設position屬性的值就是static。
示例**:
複製**
執行結果如下:
從執行結果可以看到,設定為position:static的元素,它的left和top,並不起作用。
元素按照原來的位置定位,並且不脫離文件流。
item1
relative
item3
複製**
執行效果如下:
如果在設定了position:relative;的元素中設定left,top,bottom,right值,它的層級就總是要比標準流元素高。
item1
relative
item3
複製**
執行結果如下:
從執行結果可以看出,背景色為紅色的div遮擋住了下面的div元素。如果紅色的div元素不想遮擋住下面的藍色div元素,可以設定z-index屬性來調整層級。
item1
relative
item3
複製**
執行結果如下:
relative的left,right,bottom,top都可能會引起溢位。
relative
複製**
執行結果如下:
導致溢位的原因,就是因為relative不脫離文件流。
設定為position:absolute;的元素,其定位的參照物是第乙個非static定位的父級元素,並且設定了absolute的元素,在沒有設定left,right,bottom,top的屬性值的情況下,元素並不會改變位置,但是卻脫離了文件流,並且有了z-index層級的概念,可以通過設定該屬性來調整層級。如果兩個元素同時設定了position:absolute;則後來者居上,按照元素的位置,越後面的層級越高。
item1
absolute
item2
複製**
執行結果如下:
當定位遇上了定位該怎麼定位吶?
複製**
執行效果如下:
fixed和absolute的定位效果非常類似,但是它們有著很大的區別。
absolute
fixed
複製**
執行結果如下:
從執行結果可以看出,設定為position:fixed;的元素並沒有參照它的父元素進行定位,而是在瀏覽器的左上角顯示,由此可見,fixed的元素是按照瀏覽器視窗定位的。
(1) 如果同時設定left,bottom,right,top時,那麼只有left和top值起作用。
(2) 如果同時設定left,bottom,right,top時,又想讓right或者bottom起作用,那麼可以將left設定為auto。
(3) 如果將left,bottom,right,top都設定為auto時,如果它上面沒有其他元素,相當於沒有進行設定。
(4) 如果元素設定為position:absolute,同時又設定margin-left和left時,則該元素距離左側的距離是margin-left + left的結果。
(5) 讓乙個元素垂直居中,如下所示:
複製**
(6) 通過fixed實現遮罩層,如下所示:
複製**
(7) 父元素包不住fixed元素,如下所示:
複製**
執行效果如下:
如果想fixed元素根據它的父元素定位,那麼就不能設定left,bottom,top,right值。
複製**
執行效果如下:
如果沒有設定left,right,bottom,top,那麼它們的預設值是auto。 (8) 一旦定位值為absolute或fixed,那麼高度將百分之百生效。fixed的百分比參照瀏覽器視窗計算,不管是否有父元素;absolute如果在乙個定位的父元素裡面,那麼則按照父元素計算後的值進行計算,父元素無法自適應定位元素的高度,**如下:
複製**
執行效果如下:
(9) fixed的另外乙個問題就是當在移動端使用position:fixed,製作遮罩層時會發現,在部分瀏覽器中,如果滾動內容,遮罩後面的的內容也會跟著滾動。那麼,要解決這個問題,可以使用乙個小技巧,
複製**
這樣的話,它就不會滾動了,因為fixed的高度是參照瀏覽器的高度;其實,最簡單的做法是,當顯示遮罩層時,給body加overflow:hidden;然後,關閉遮罩層時,再去掉這個樣式。 傳說中的MTU
通訊術語 最大傳輸單元 maximum transmission unit,mtu 是指一種通訊協議的某一層上面所能通過的最大資料報大小 以位元組為單位 最大傳輸單元這個引數通常與通訊介面有關 網路介面卡 串列埠等 網際網路協議允許ip分片,這樣就可以將資料報分成足夠小的片段以通過那些最大傳輸單元小...
傳說中的truncate html
學習用rails做blog的時候要用到rails的truncate功能。h truncate post.content,100,問題來了,將html截斷後出現不完整的tag,導致後續的文章排版都錯亂了。本來考慮是不是自己寫乙個,正在思考思路,結果祭起google,好嗎,已經有牛人寫了 簡單記錄一下 ...
傳說中的分頁6
set quoted identifier off goset ansi nulls on go 名稱 分頁儲存過程 使用示例 exec sp pageindex from stusources 2,10 注意 目前還沒有對輸入的引數進行嚴格的驗證 預設為輸入都是合法有效的 alter proc s...