每天一句:如果能走的時候請不要站著,能跑的時候請不要走,能飛的時候請不要跑。
一、position 定位
語法:
position:static /absolute/relative/fixed
static: 默認(rèn)值,無特殊定位,對象遵循HTML原則;
absolute: 絕對定位,將對象從文檔流中拖離出來,使用left/right/top/bottom等屬性相對其最接近的一個并有定位(absolute/relative)設(shè)置的父元素進行絕對定位;若沒有父元素,則以html、body,瀏覽器的位置為相對位置,而其層疊通過z-index屬性定義;(相對于誰?)
relative: 相對定位,對象不可層疊,將依據(jù)right,top,left,bottom(相對定位)等屬性在正常文檔流中偏移位置(相對于誰呢?相對于它自己本身,即是在原來位置上偏移,而且注意原有位置就是在保留的);
fixed: (固定定位)未支持,對象定位遵從絕對定位方式(absolute;但是要遵守一些規(guī)范);
例如: 教室中的學(xué)生位置,絕對定位就像是大學(xué)的教室位置,人不在了,其他人就可以占用這個位置;
而相對位置就像小學(xué)生,請假了,雖然人不在,但是其他同學(xué)也不能占他的位置;
雖然學(xué)生都不在位置上,但是兩種效果是不同的;
二、絕對定位和相對定位的區(qū)別
- 參照物不同,絕對定位的參照物是包含塊(父級),相對定位的參照物是元素本身位置;
- 絕對定位將對象從文檔流中拖離出來因此不占據(jù)空間,相對定位不破壞正常的文檔流順序無論是否進行移動,元素仍然占據(jù)原來的空間;
三、包含塊的概念及作用
- 包含塊是絕對定位的基礎(chǔ),包含塊就是為決定定位元素提供坐標(biāo),偏移和顯示范圍的參照物,即確定絕對定位的偏移起點和百分比長度的參考;【包含塊是參照物】
- 默認(rèn)狀態(tài)下,body是一個大的包含塊,所有絕對定位的元素都是根據(jù)窗口來定自己所處的位置和百分比大小的顯示的,如果我們定義了包含元素為包含元素塊以后,對于被包含的絕對定位元素來說,就會根據(jù)最接近的具有定位功能的上級包含元素來定位自己的顯示位置。
(定義元素為包含塊:給絕對定位元素的父元素添加聲明position:relative;)
四、定位元素層疊屬性
語法:
z-index : auto | number // 檢索或設(shè)置對象的層疊順序
說明:
auto:默認(rèn)值,遵從其父對象;
number:無單位的整數(shù)值,可為負(fù)數(shù);
備注:
> 較大 number 值的對象會覆蓋在較小 number 值的對象之上。如兩個絕對定位對象的此屬性具有同樣的 number 值,那么將依據(jù)它們在HTML文檔中聲明的順序?qū)盈B;
> 此屬性僅僅作用于 position 屬性值為 relative 或 absolute 的對象;
> 除了可以調(diào)整層級以外,其實可以通過層級將某元素給隱藏;

定位中層級
五、命名錨點鏈接的應(yīng)用
定義:是網(wǎng)頁制作中超級鏈接的一種,又叫命名錨記。命名錨記像一個迅速定位器一樣是一種頁面內(nèi)的超級鏈接,運用相當(dāng)普遍;
命名錨點鏈接的應(yīng)用:
1)命名錨點的作用:在同一頁面內(nèi)的不同位置進行跳轉(zhuǎn);
2)給元素定義命名錨記名
語法: <標(biāo)記 id="命名錨記名"> </標(biāo)記>
3)命名錨記連接
語法: <a href="#命名錨記名稱"></a>
六、其他(滾動字幕)
<marquee behavior=“scroll/alternate” direction="up/down/left/right" scrollamount=“value” height="value" width="value">
內(nèi)容
</marquee>
說明:
behavior(行為)="scroll(滾動)/alternate(晃動)
direction(方向)="up(從下向上)/down(從上向下)/left(從右向左)/right(從左向右)“
scrollamount(滾動速度)="value"
height="value(上下滾動范圍)"
width=""(左右滾動范圍)