前端 -- 定位和z-index


定位

定位有三種:

1.相對定位 2.絕對定位 3.固定定位

這三種定位,每一種都暗藏玄機,所以我們要一一單講。

相對定位

相對定位:相對於自己原來的位置定位

現象和使用:

1.如果對當前元素僅僅設置了相對定位,那么與標准流的盒子什么區別。

2.設置相對定位之后,我們才可以使用四個方向的屬性: top、bottom、left、right

特性:

1.不脫標

2.形影分離

3.老家留坑(占着茅房不拉屎,惡心人)

所以說相對定位 在頁面中沒有什么太大的作用。影響我們頁面的布局。我們不要使用相對定位來做壓蓋效果

用途:

1.微調元素位置

2.做絕對定位的參考(父相子絕)絕對定位會說到此內容。

參考點:

自己原來的位置做參考點。

絕對定位

特性:

1.脫標 2.做遮蓋效果,提成了層級。設置絕對定位之后,不區分行內元素和塊級元素,都能設置寬高。

參考點(重點):

一、單獨一個絕對定位的盒子

1.當我使用top屬性描述的時候 是以頁面的左上角(跟瀏覽器的左上角區分)為參考點來調整位置
2.當我使用bottom屬性描述的時候。是以首屏頁面左下角為參考點來調整位置。

二、以父輩盒子作為參考點

1.父輩元素設置相對定位,子元素設置絕對定位,那么會以父輩元素左上角為參考點,這個父輩元素不一定是爸爸,它也可以是爺爺,曾爺爺。

2.如果父親設置了定位,那么以父親為參考點。那么如果父親沒有設置定位,那么以父輩元素設置定位的為參考點

3.不僅僅是父相子絕,父絕子絕 ,父固子絕,都是以父輩元素為參考點

注意了:父絕子絕,沒有實戰意義,做站的時候不會出現父絕子絕。因為絕對定位脫離標准流,影響頁面的布局。相反‘父相子絕’在我們頁面布局中,是常用的布局方案。因為父親設置相對定位,不脫離標准流,子元素設置絕對定位,僅僅的是在當前父輩元素內調整該元素的位置。

還要注意,絕對定位的盒子無視父輩的padding

作用:頁面布局常見的“父相子絕”,一定要會!!!!

絕對定位的盒子居中

當做公式記下來吧!

*{
            padding: 0;
            margin: 0;
        }
        .box{
            width: 100%;
            height: 69px;
            background: #000;
        }
        .box .c{
            width: 960px;
            height: 69px;
            background-color: pink;
            /*margin: 0 auto;*/
            position: relative;
            left: 50%;
            margin-left: -480px;

            /*設置絕對定位之后,margin:0 auto;不起任何作用,如果想讓絕對定位的盒子居中。當做公式記下來 設置子元素絕對定位,然后left:50%; margin-left等於元素寬度的一半,實現絕對定位盒子居中*/
        }
View Code

固定定位

固定當前的元素不會隨着頁面滾動而滾動

特性: 

1.脫標 2.遮蓋,提升層級 3.固定不變

參考點:

設置固定定位,用top描述。那么是以瀏覽器的左上角為參考點
如果用bottom描述,那么是以瀏覽器的左下角為參考點

作用: 1.返回頂部欄 2.固定導航欄 3.小廣告

 

z-index

這個東西非常簡單,它有四大特性,每個特性你記住了,頁面布局就不會出現找不到盒子的情況。

  • z-index 值表示誰壓着誰,數值大的壓蓋住數值小的,
  • 只有定位了的元素,才能有z-index,也就是說,不管相對定位,絕對定位,固定定位,都可以使用z-index,而浮動元素不能使用z-index
  • z-index值沒有單位,就是一個正整數,默認的z-index值為0如果大家都沒有z-index值,或者z-index值一樣,那么誰寫在HTML后面,誰在上面壓着別人,定位了元素,永遠壓住沒有定位的元素。
  • 從父現象:父親慫了,兒子再牛逼也沒用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM