1. 負(fù)邊距在讓元素產(chǎn)生偏移時(shí)和position: relative有什么區(qū)別?
- 文檔流中的位置是否保留
- 使用負(fù)邊距偏移的元素蝇裤,下一個(gè)元素會(huì)追隨其后
- 使用position:relative的元素,下一個(gè)元素不會(huì)跟隨
- 參考線或是參考點(diǎn)不同
- 邊距規(guī)定元素的border到父元素/相鄰元素邊框的距離嵌灰,所以負(fù)邊距的偏移是以父元素/相鄰元素的邊框?yàn)閰⒖季€
- position:relative則是以元素原在位置的四個(gè)頂點(diǎn)為參考點(diǎn)進(jìn)行偏移
2. 使用負(fù) margin 形成三欄布局有什么條件?
使用負(fù)margin實(shí)現(xiàn)三欄布局的條件:
- 兩個(gè)側(cè)邊欄需要添加浮動(dòng)屬性
- 中間的main部分的寬度要自適應(yīng)父元素寬度
- 父容器需要添加左右padding為sidebar預(yù)留空間
3. 圣杯布局的原理是怎樣的? 簡(jiǎn)述實(shí)現(xiàn)圣杯布局的步驟
圣杯布局原理
圣杯布局是三欄布局之一票顾,基本特性是左右側(cè)邊欄寬度固定础浮,中間main寬度自適應(yīng),獨(dú)特之處是父容器添加padding-left和right撐開其寬度而為2個(gè)側(cè)邊欄預(yù)留放置空間奠骄。一般中間主內(nèi)容首先渲染有利于SEO
實(shí)現(xiàn)步驟
step1:寫好三欄結(jié)構(gòu)
step2:設(shè)置好初始樣式: (main元素也要浮動(dòng)豆同,否則不起作用!)
step3: 設(shè)置外容器左右padding和邊欄的負(fù)margin:
tep4:設(shè)置相對(duì)位置 :
step5:如果想改成兩欄布局,只需刪除多余的部分:
4. 雙飛翼布局的原理? 實(shí)現(xiàn)步驟?
原理:
雙飛翼布局也是一個(gè)兩邊在父容器里固定寬度含鳞,中間自適應(yīng)的布局.一般中間主內(nèi)容首先渲染有利于SEO影锈。
設(shè)置三個(gè)浮動(dòng)div,左右兩欄加上負(fù)margin 100%使其和中間欄頂端的邊緣重合蝉绷。中間欄用一個(gè)內(nèi)置的div來(lái)放置內(nèi)容鸭廷,在這個(gè)子div里設(shè)置了margin來(lái)給兩邊的div留出了位置。
步驟:
step1:寫好三欄結(jié)構(gòu),在主內(nèi)容中增加一個(gè)內(nèi)容區(qū)warp
step2:設(shè)置好初始樣式:
step3:設(shè)置warp的margin留出邊欄位置,設(shè)置邊欄負(fù)margin:
step4:如果想改成兩欄布局,只需刪除多余的部分: