css - 定位

CSS 定位機制

CSS 有三種基本的定位機制:普通流、浮動和絕對定位。
除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。
塊級框從上到下一個接一個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。
行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設置行高可以增加這個框的高度。

4 種不同類型的定位

static
元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中。
relative
元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。
absolute
元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。
fixed
元素框的表現(xiàn)類似于將 position 設置為 absolute,不過其包含塊是視窗本身。

相對定位
是相對以前的自己的位置。
position:relative; 相對定位特征:
1)不影響元素本身的特性
2)不使元素脫離文檔流(元素移動之后,原來的位置還是保留)
3)如果沒有設置偏移量,對元素本身沒有任何影響
4)提升層級

定位元素位置控制
top/right/bottom/left 定位元素偏移量。

絕對定位
絕對定位的元素的位置相對于最近的已定位祖先元素,如果元素沒有已定位的祖先元素,那么它的位置相對于最初的包含塊。
注釋:根據(jù)用戶代理的不同,最初的包含塊可能是畫布或 HTML 元素。
position:absolute; 絕對定位特征:
1)使元素完全脫離文檔流(絕對定位使元素的位置與文檔流無關,因此不占據(jù)空間。這一點與相對定位不同,相對定位實際上被看作普通流定位模型的一部分,因為元素的位置相對于它在普通流中的位置。)
2)使內(nèi)嵌支持寬高
3)塊屬性標簽內(nèi)容撐開寬度
4)如果有定位父級相對于定位父級發(fā)生偏移,沒有定位父級相對于document發(fā)生偏移。
5)相對定位一般都是配合絕對定位元素使用
6)提升層級

z-index:[number] 定位層級
1)定位元素默認后者層級高于前者
2)建議在兄弟標簽之間比較層級

固定定位(fixed定位)
是相對于screen,比如:右下角的小火箭,返回到頂部;或者客服。
position:fixed 固定定位。
與絕對定位的特征基本一致,差別是始終相對整個文檔進行定位;
問題:IE6不支持固定定位。

經(jīng)驗:
在定位中,

.div4 {
    background-color: black;
    position: fixed;
    right: 20px;
    bottom: 50px;
}

left,right,top,bottom : Xpx, 是貼近那邊,再插入X像素在那一邊。

默認static定位,從父元素集成定位屬性的值(不兼容)

position:static;  默認
position:inherit;  從父級元素集成定位屬性的值(不兼容)

那么一共有5種定位(position:relative|absolute|fixed|static|inherit)

案例:
我們給父級加了透明度,那么它的子集也會繼承這個透明度。

不透明度:
標準瀏覽器 不透明度 opacity: 0~1
IE瀏覽器 濾鏡 filter:alpha(opacity=0~100)

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,124評論 1 92
  • CSS 定位 CSS有三種基本的定位機制:普通流,浮動,絕對定位(absolute, fixed):普通流是默認定...
    _空空閱讀 5,972評論 0 15
  • 譯者:cherryvenus鏈接:http://www.zcfy.cc/article/1390原文:https:...
    IT程序獅閱讀 3,354評論 0 18
  • 定位 定位概況 CSS 有三種基本的定位機制:普通流、浮動和絕對定位。除非專門指定,否則所有框都在普通流中定位。 ...
    xiaolizhenzhen閱讀 407評論 0 0
  • 在CSS中關于定位的內(nèi)容是:position:relative | absolute | static | fix...
    feelinghappy618閱讀 703評論 0 0

友情鏈接更多精彩內(nèi)容