往往在網頁布局中會出現覆蓋,這時我們需要使用定位技術了。什麼是定位,通俗來說就是你想讓元素在哪個位置。
css定位的基本思想很簡單,它允許定義元素框相對於其正常位置應該出現的位置,或者相對于父元素、另乙個元素
甚至瀏覽器視窗本身的位置。
相對定位(position:relative)-元素依然是佔位的
使用相對定位的盒子的位置常以標準流的排版方式為基礎,然後使盒子相對於它在原本的標準位置偏移指定的距離。
相對定位的盒子仍在標準流中,它後面的盒子仍以標準流方式對待它。使用relative,即相對定位,除了將position屬性
設定為relative之外,還需要指定一定的偏移量,水平方向通過left或者right屬性來指定,豎直方向通過top和bottom來指定。
box-1box-2
現在我們可以得到這樣的結論,使用相對定位的盒子,會相對於它原本的位置,通過偏移指定的距離,到達新的位置。
而該相對定位的盒子則仍然位於標準流中,它對父塊沒有任何影響,對兄弟盒子也沒有任何影響。
注意:上面是針對標準流方式進行的,實際上,對浮動的盒子使用相對定位也是一樣的,都會相對於原有的位置進行指定
的偏移並到達新的位置,而這一偏移並不會對其後面的兄弟元素帶來任何的影響。
絕對定位(position:absolute)-元素不佔位,盒子寬度變為自適應
使用絕對定位的盒子以它的「最近」的乙個「已經定位」的「祖先元素」為基準進行偏移。如果沒有已經定位的祖先元素,
那麼會以瀏覽器視窗為基準進行定位。再有,絕對定位的框從標準流中脫離,這意味著它們對其後的兄弟盒子的定位沒有任何影響,
其他的盒子就好像這個盒子不存在一樣。如果設定了絕對定位,而沒有設定偏移屬性,那麼它仍然保持原有的位置。
#block2
上面block2沒有已經定位的祖先元素,是以瀏覽器視窗為基準進行定位。
#father
給父級增加乙個定位樣式,block2就會以父級為參照進行偏移。
外面的盒子沒有設定position屬性,內部的盒子設定了絕對定位,但是只在垂直方向指定了偏移量,沒有指定水平方向的偏移量,
此時內部的盒子則因為設定了絕對定位屬性,而外層div沒有position屬性,所以的它的定位基準是瀏覽器視窗。但是又由於在水平方向
上沒有設定偏移屬性,因此在水平方向它仍然會保持原來應該在的位置,它的左側與外層盒子的左側對齊。因為在垂直方向上設定了
「top:70px」,所以距離瀏覽器視窗頂部為70畫素。
固定定位(position:fixed)-元素不佔位的,寬度變為自適應
為元素指定相對於視窗的確切位置 。即使文件的其它元素出現滾動,元素位置仍然不變。它與絕對定位有些類似,區別主要在於
定位的基準不是祖先,而是瀏覽器視窗或其它顯示裝置視窗。也就是當訪問者拖動瀏覽器的視窗滾動條時,固定定位的元素相對於瀏
覽器視窗的位置保持不變。
z-index空間位置(設定定位元素的層疊關係,只對定元素生效位)
z-index屬性用於調整定位時重疊塊的上下位置,與它的名稱一樣,想象頁面為x-y軸,垂直於頁面的方向為z軸,z-index值大
的頁面位於其小的上方。z-index屬性的值為整數,可以是正數也可以是負數。當塊被設定了position屬性時,該值便可以設定各塊之
間的重疊高低關係。預設的z-index值為0,當兩個塊的z-index值一樣時,將保持原有的高低覆蓋關係,z-index可以為負值。
CSS布局之定位
定位由定位模式和邊偏移組成 我們定位的盒子,是通過邊偏移來移動位置的。在 css 中,通過 top bottom left 和 right 屬性定義元素的邊偏移 方位名詞 邊偏移屬性 示例描述 toptop 80px 頂端偏移量,定義元素相對於其父元素上邊線的距離。bottom bottom 80p...
CSS定位布局
絕對定位 如果想為元素設定層模型中的絕對定位,需要設定position absolute 表示絕對定位 這條語句的作用將元素從文件流中拖出來,然後使用left right top bottom屬性相對於其最接近的乙個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對於body元素,即...
css布局 定位
1 為什麼需要定位?某個元素可以自由的在乙個盒子內移動位置,並且壓住其他盒子 滾動視窗時,盒子固定在某個位置 2 應用 下拉列表 模態框 web應用程式的一些基本效果 3 本質 將元素徹底從文件流中移走。允許將元素放在螢幕的任意位 置,還可以將乙個元素放到另乙個元素的前面或者後面,彼此重疊。按照定位...