前端從零開始——第二周第三天筆記(定位)

1.定位元素的特征

說明:檢索對象的定位方式

  • 當position的值為非static時汹粤,其層疊級別通過z-index屬性定義箩做。
  • 絕對定位的元素虫腋,在top骄酗,right,bottom悦冀,left屬性未設置時趋翻,會緊隨在其前面的兄弟元素之后,但在位置上不影響常規(guī)流中的任何元素盒蟆。

2.position定位屬性值

  • static: 對象遵循常規(guī)流踏烙。此時4個定位偏移屬性不會被應用。- relative:對象遵循常規(guī)流历等,并且參照自身在常規(guī)流中的
  • 位置通過top讨惩,right,bottom寒屯,left這4個定位偏移屬性進行偏移時不會影響常規(guī)流中的任何元素荐捻。
  • absolute: 對象脫離常規(guī)流,此時偏移屬性參照的是離自身最近的定位祖先元素寡夹,如果沒有定位的祖先元素处面,則一直回溯到body元素。盒子的偏移位置不影響常規(guī)流中的任何元素菩掏,其margin不與其他任何margin折疊


    3.png

3.position: static默認值

定位的默認值魂角,對象遵循常規(guī)流;
HTML元素的默認值智绸,即沒有定位野揪,元素出現在正常的流中;
靜態(tài)定位的元素不會受到 top, bottom, left, right影響传于;

4.position:fixed固定定位詳解

fixed定位是指元素的位置相對于瀏覽器窗口是固定位置囱挑,即使窗口是滾動的它也不會滾動,且fixed定位使元素的位置與文檔流無關沼溜,因此不占據空間平挑,且它會和其他元素發(fā)生重疊

  • 參照物是瀏覽器的可視窗口
  • 不設置寬高時,寬高是由內容決定的
  • 固定定位一般用在網站的側邊欄、回到頂部的結構上

5.position:relative相對定位詳解

  • 不脫離文檔流
  • 相對定位的層級要比其他元素層級大(會蓋在其他元素之上)
  • 當發(fā)生位置改變時通熄,原來的位置還被占用著
  • 參照物: 相對定位元素的定位是相對它自己的正常位置的定位
  • 給絕對定位當參照物來用
  • 當同時設置left和right值時唆涝,left值生效。同時設置top和bottom值時唇辨,top值生效

以下兩點是相對定位常用的情況:

  • 當自己改變位置時廊酣,又不影響其他元素,可以用相對定位給絕對定位當參照物來用

6.position:absolute絕對定位詳解

  • 脫離文檔流
  • 在不設置參照物時赏枚,參照物是body
  • 人為設置參照物時亡驰,必須滿足兩個條件
    • 這個參照物必須是絕對定位元素的父級元素
    • 這個父級元素必須帶有定位屬性(相對、絕對饿幅、固定)
  • 當絕對定位這個元素設置寬高為100%凡辱,繼承的是參照物的寬高
  • 當絕對定位這個元素不設置四個方向值時,這個絕對定位元素的前面有其他平級(同級)元素栗恩,默認會排在這個平級元素的后面
  • 在不設置寬高時透乾,寬高是由內容決定的
  • 當絕對定位時,同時設置left/right/top/bottom值時磕秤,left和top值生效

7.position:absolute實戰(zhàn)之元素始終水平垂直居中

1.絕對定位乳乌,上和左50%,再利用margin反向移動寬高的一半

.black{width: 500px;height: 500px;background: black;position: relative} 
.red{width: 200px;height: 200px;background: red;position: absolute;top:50%;left:50%;margin: -100px 0 0 -100px;}

<div class="black">
    <div class="red"></div>
</div>

2.絕對定位,上和左50%,再利用translate反向移動寬高的一半

.black{width: 500px;height: 500px;background: black;position: relative} 
.red{width: 200px;height: 200px;background: red;position: absolute;top:50%;left:50%;transform: translate(-50%,-50%)}

<div class="black">
    <div class="red"></div>
</div>

3.絕對定位市咆,四個方向偏移量為0汉操,然后margin設置為auto

.black{width: 500px;height: 500px;background: black;position: relative} 
.red{width: 200px;height: 200px;background: red;position: absolute;top:0;bottom:0;left:0;right:0;margin:auto;}

<div class="black">
    <div class="red"></div>
</div>
4.png

8.position 定位的相同點和區(qū)別解析

相同點
1.都可以設置top/bottom/left/right 四個方位,如果同時設置top和bottom床绪,不管值的大小客情,只聽top的,如果同時設置left 和 right癞己,不管值的大小膀斋,只聽left的;
2.都可以設置z-index的屬性痹雅,用來改變層級仰担,z-index的值越大,層級越靠上绩社,反之越靠下摔蓝;
注意: z-index一定要和position一起使用;否則不起作用

區(qū)別
1.是否脫離正常文檔流

  • 絕對定位和固定定位: 會脫離正常的文檔流(平行漂浮于元素之上: 重疊);
    • 絕對定位是會隨著滾動條的滾動而滾動
    • 固定定位是固定不動愉耙,不會隨著滾動條的滾動而滾動
  • 相對定位: 不會脫離正常的文檔流贮尉;

2.參照物

  • 絕對定位 : 查找機制: 先找第一層的父元素,如果沒有則繼續(xù)往上查找朴沿,直接找到整個瀏覽器窗口為止猜谚,如果上級父元素有定位的參照物败砂,則停止查找;
  • 固定定位 : 整個瀏覽器的窗口
  • 相對定位 : 它自己原來本身的位置

3.position:relative 在實際項目中
1.作為絕對定位的參照物
2.配合z-index和top/bottom/left/right一起使用

9.z-index屬性的詳解

z-index 檢索或設置對象的層疊順序:

  • z-index用于確定元素在當前層疊上下文中的層疊級別魏铅,并確定該元素是否創(chuàng)建新的局部層疊上下文昌犹。
  • 每個元素層疊順序由所屬的層疊上下文和元素本身的層疊級別決定(每個元素僅屬于一個層疊上下文)。
  • 同一個層疊上下文中览芳,層疊級別大的顯示在上面斜姥,反之顯示在下面。
  • 同一個層疊上下文中沧竟,層疊級別相同的兩個元素铸敏,依據它們在HTML文檔流中的順序,寫在后面的將會覆蓋前面的屯仗。
  • 不同層疊上下文中搞坝,元素的顯示順序依據祖先的層疊級別來決定,與自身的層疊級別無關魁袜。
  • 當z-index未定義或者值為auto時,在IE6,7下會創(chuàng)建新的局部層疊上下文敦第,而在高級瀏覽器中峰弹,按照規(guī)范不產生新的局部層疊上下文

層疊準則:

  • 誰大誰上:當具有明顯的層疊水平標識的時候,如生效的z-index屬性值芜果,在同一個層疊上下文領域鞠呈,層疊水平值大的那一個覆蓋小的那一個;
  • 后來居上:當元素的層疊水平一致右钾,層疊順序相同的時候蚁吝,在DOM流中處于后面的元素會覆蓋前面的元素;
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末舀射,一起剝皮案震驚了整個濱河市窘茁,隨后出現的幾起案子,更是在濱河造成了極大的恐慌脆烟,老刑警劉巖山林,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異邢羔,居然都是意外死亡驼抹,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門拜鹤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來框冀,“玉大人,你說我怎么就攤上這事敏簿∶饕玻” “怎么了?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诡右。 經常有香客問我安岂,道長,這世上最難降的妖魔是什么帆吻? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任域那,我火速辦了婚禮,結果婚禮上猜煮,老公的妹妹穿的比我還像新娘次员。我一直安慰自己,他們只是感情好王带,可當我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布淑蔚。 她就那樣靜靜地躺著,像睡著了一般愕撰。 火紅的嫁衣襯著肌膚如雪刹衫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天搞挣,我揣著相機與錄音带迟,去河邊找鬼。 笑死囱桨,一個胖子當著我的面吹牛仓犬,可吹牛的內容都是我干的。 我是一名探鬼主播舍肠,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼搀继,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了翠语?” 一聲冷哼從身側響起叽躯,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啡专,沒想到半個月后险毁,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡们童,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年畔况,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片慧库。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡跷跪,死狀恐怖,靈堂內的尸體忽然破棺而出齐板,到底是詐尸還是另有隱情吵瞻,我是刑警寧澤葛菇,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站橡羞,受9級特大地震影響眯停,放射性物質發(fā)生泄漏。R本人自食惡果不足惜卿泽,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一莺债、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧签夭,春花似錦齐邦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至慎宾,卻和暖如春丐吓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背趟据。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工汰蜘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人之宿。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像苛坚,于是被迫代替她去往敵國和親比被。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案泼舱? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,760評論 1 92
  • 學會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,319評論 2 66
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5等缀? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,519評論 1 45
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表娇昙,主要用...
    寥寥十一閱讀 1,839評論 0 6
  • 你到了國外點菜還在用手指著圖片尺迂,this,this冒掌,this嗎噪裕,今日要送給大家一些實用口語句子了。 1 What ...
    小珊apple閱讀 540評論 0 0