高度塌陷 解決高度塌陷 導(dǎo)航條 清除浮動(dòng) 相對(duì)定位 絕對(duì)定位

1 高度塌陷

在文檔流中多望,父元素的高度默認(rèn)是被子元素?fù)伍_的陪汽,也就是子元素多高昧谊,父元素就多高

但是當(dāng)為子元素設(shè)置浮動(dòng)以后,子元素會(huì)完全脫離文檔流鸽斟,此時(shí)將會(huì)導(dǎo)致子元素?zé)o法撐起父元素的高度,導(dǎo)致父元素的高度塌陷

由于父元素的高度塌陷了利诺,則父元素下的所有元素都會(huì)向上移動(dòng)富蓄,這樣將會(huì)導(dǎo)致頁(yè)面布局混亂

所以在開發(fā)中一定要避免出現(xiàn)高度塌陷的問題,

我們可以將父元素的高度寫死,以避免塌陷的問題出現(xiàn)慢逾,

但是一旦高度寫死立倍,父元素的高度將不能自動(dòng)適應(yīng)子元素的高度,所以這種方案是不推薦使用的

2 解決高度塌陷

根據(jù)W3C的標(biāo)準(zhǔn)侣滩,在頁(yè)面中元素都一個(gè)隱含的屬性叫做Block Formatting Context(塊的格式化環(huán)境)簡(jiǎn)稱BFC口注,該屬性可以設(shè)置打開或者關(guān)閉,默認(rèn)是關(guān)閉的

當(dāng)開啟元素的BFC以后君珠,元素將會(huì)具有如下的特性:

1.父元素的垂直外邊距不會(huì)和子元素重疊

2.開啟BFC的元素不會(huì)被浮動(dòng)元素所覆蓋

3.開啟BFC的元素可以包含浮動(dòng)的子元素

如何開啟元素的BFC

1.設(shè)置元素浮動(dòng)

使用這種方式開啟寝志,雖然可以撐開父元素,但是會(huì)導(dǎo)致父元素的寬度丟失,而且使用這種方式也會(huì)導(dǎo)致下邊的元素上移材部,不能解決問題

2.設(shè)置元素絕對(duì)定位

3.設(shè)置元素為inline-block

可以解決問題毫缆,但是會(huì)導(dǎo)致寬度丟失,不推薦使用這種方式

4.將元素的overflow設(shè)置為一個(gè)非visible的值

推薦方式:將overflow設(shè)置為hidden是副作用最小的開啟BFC的方式

但是在IE6及以下的瀏覽器中并不支持BFC乐导,所以使用這種方式不能兼容IE6

在IE6中雖然沒有BFC苦丁,但是具有另一個(gè)隱含的屬性叫做hasLayout,該屬性的作用和BFC類似物臂,所在IE6瀏覽器可以通過開hasLayout來解決該問題

開啟方式很多旺拉,我們直接使用一種副作用最小的:

直接將元素的zoom設(shè)置為1即可

zoom表示放大的意思,后邊跟著一個(gè)數(shù)值棵磷,寫幾就將元素放大幾倍

zoom:1表示不放大元素蛾狗,但是通過該樣式可以開啟hasLayout

zoom這個(gè)樣式,只在IE中支持泽本,其他瀏覽器都不支持

解決高度塌陷方案二:

可以直接在高度塌陷的父元素的最后淘太,添加一個(gè)空白的div,由于這個(gè)div并沒有浮動(dòng)规丽,所以他是可以撐開父元素的高度的

然后再對(duì)其進(jìn)行清除浮動(dòng)蒲牧,這樣可以通過這個(gè)空白的div來?yè)伍_父元素的高度,基本沒有副作用

使用這種方式雖然可以解決問題赌莺,但是會(huì)在頁(yè)面中添加多余的結(jié)構(gòu)

解決高度塌陷方案三:

通過after偽類冰抢,選中box1的后邊

可以通過after偽類向元素的最后添加一個(gè)空白的塊元素,然后對(duì)其清除浮動(dòng)艘狭,

這樣做和添加一個(gè)div的原理一樣挎扰,可以達(dá)到一個(gè)相同的效果,

而且不會(huì)在頁(yè)面中添加多余的div巢音,這是我們最推薦使用的方式遵倦,幾乎沒有副作用

.clearfix:after{

/*添加一個(gè)內(nèi)容*/

content: "";

/*轉(zhuǎn)換為一個(gè)塊元素*/

display: block;

/*清除兩側(cè)的浮動(dòng)*/

clear: both;

}

/*在IE6中不支持after偽類,所以在IE6中還需要使用hasLayout來處理*/

.clearfix{

zoom: 1;

}

3 導(dǎo)航條

1.無序列表構(gòu)建菜單:

<li> <a herf="#">新聞</a></li>

<li> <a herf="#">娛樂</a></li>

2.垂直菜單轉(zhuǎn)變?yōu)樗讲藛危篺loat:left;

3官撼、在制作圓角菜單時(shí)梧躺,背景圖片貼在標(biāo)簽上; -------> background-position

4傲绣、在制作改變高度的伸縮菜單時(shí)掠哥,實(shí)現(xiàn)高度向上延伸的技巧: ----> margin-top用負(fù)值;

4 清除浮動(dòng)

我們有時(shí)希望清除掉其他元素浮動(dòng)對(duì)當(dāng)前元素產(chǎn)生的影響秃诵,這時(shí)可以使用clear來完成功能

可選值:

none续搀,默認(rèn)值,不清除浮動(dòng)

left菠净,清除左側(cè)浮動(dòng)元素對(duì)當(dāng)前元素的影響

right禁舷,清除右側(cè)浮動(dòng)元素對(duì)當(dāng)前元素的影響

both彪杉,清除兩側(cè)浮動(dòng)元素對(duì)當(dāng)前元素的影響

清除對(duì)他影響最大的那個(gè)元素的浮動(dòng)

清除浮動(dòng)以后,元素會(huì)回到其他元素浮動(dòng)之前的位置

5 相對(duì)定位

定位:

定位指的就是將指定的元素?cái)[放到頁(yè)面的任意位置

通過定位可以任意的擺放元素

通過position屬性來設(shè)置元素的定位

-可選值:

static:默認(rèn)值榛了,元素沒有開啟定位

relative:開啟元素的相對(duì)定位

absolute:開啟元素的絕對(duì)定位

fixed:開啟元素的固定定位(也是絕對(duì)定位的一種)

當(dāng)元素的position屬性設(shè)置為relative時(shí)在讶,則開啟了元素的相對(duì)定位

1.當(dāng)開啟了元素的相對(duì)定位以后,而不設(shè)置偏移量時(shí)霜大,元素不會(huì)發(fā)生任何變化

2.相對(duì)定位是相對(duì)于元素在文檔流中原來的位置進(jìn)行定位

3.相對(duì)定位的元素不會(huì)脫離文檔流

4.相對(duì)定位會(huì)使元素提升一個(gè)層級(jí)

5.相對(duì)定位不會(huì)改變?cè)氐男再|(zhì)构哺,塊還是塊,內(nèi)聯(lián)還是內(nèi)聯(lián)

當(dāng)開啟了元素的定位(position屬性值是一個(gè)非static的值)時(shí)战坤,可以通過left right top bottom四個(gè)屬性來設(shè)置元素的偏移量

left:元素相對(duì)于其定位位置的左側(cè)偏移量

right:元素相對(duì)于其定位位置的右側(cè)偏移量

top:元素相對(duì)于其定位位置的上邊的偏移量

bottom:元素相對(duì)于其定位位置下邊的偏移量

通常偏移量只需要使用兩個(gè)就可以對(duì)一個(gè)元素進(jìn)行定位曙强,

一般選擇水平方向的一個(gè)偏移量和垂直方向的偏移量來為一個(gè)元素進(jìn)行定位

6? 絕對(duì)定位

絕對(duì)定位指使元素相對(duì)于html元素或離他最近 的祖先定位元素進(jìn)行定位。

當(dāng)將position屬性設(shè)置為absolute時(shí)途茫,則開啟 了元素的絕對(duì)定位碟嘴。

當(dāng)開啟了絕對(duì)定位以后,可以使用top囊卜、right娜扇、 bottom、left四個(gè)屬性對(duì)元素進(jìn)行定位栅组。

絕對(duì)定位的特點(diǎn):

絕對(duì)定位會(huì)使元素完全脫離文本流雀瓢。

絕對(duì)定位的塊元素的寬度會(huì)被其內(nèi)容撐開。

絕對(duì)定位會(huì)使行內(nèi)元素變成塊元素玉掸。

一般使用絕對(duì)定位時(shí)會(huì)同時(shí)為其父元素指定一 個(gè)相對(duì)定位刃麸,以確保元素可以相對(duì)于父元素進(jìn) 行定位。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末司浪,一起剝皮案震驚了整個(gè)濱河市泊业,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啊易,老刑警劉巖吁伺,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異租谈,居然都是意外死亡箱蝠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門垦垂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牙瓢,你說我怎么就攤上這事劫拗。” “怎么了矾克?”我有些...
    開封第一講書人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵页慷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)酒繁,這世上最難降的妖魔是什么滓彰? 我笑而不...
    開封第一講書人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮州袒,結(jié)果婚禮上揭绑,老公的妹妹穿的比我還像新娘。我一直安慰自己郎哭,他們只是感情好他匪,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著夸研,像睡著了一般邦蜜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上亥至,一...
    開封第一講書人閱讀 52,736評(píng)論 1 312
  • 那天悼沈,我揣著相機(jī)與錄音,去河邊找鬼姐扮。 笑死絮供,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溶握。 我是一名探鬼主播杯缺,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼睡榆!你這毒婦竟也來了萍肆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤胀屿,失蹤者是張志新(化名)和其女友劉穎塘揣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宿崭,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡亲铡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葡兑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奖蔓。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖讹堤,靈堂內(nèi)的尸體忽然破棺而出吆鹤,到底是詐尸還是另有隱情,我是刑警寧澤洲守,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布疑务,位于F島的核電站沾凄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏知允。R本人自食惡果不足惜撒蟀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望温鸽。 院中可真熱鬧保屯,春花似錦、人聲如沸嗤朴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)雹姊。三九已至股缸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吱雏,已是汗流浹背敦姻。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歧杏,地道東北人镰惦。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像犬绒,于是被迫代替她去往敵國(guó)和親旺入。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容