HTML5+CSS——13浮動、清除浮動刀荒、高度塌陷代嗤、導(dǎo)航條練習(xí)

一.浮動(float)

塊元素在文檔流中默認(rèn)垂直排列棘钞,如果希望塊元素在頁面中水平排列,可以使塊元素脫離文檔流干毅。可以使用float來使元素浮動宜猜,從而脫離文檔流。

可選值:

none硝逢,默認(rèn)值姨拥,元素默認(rèn)在文檔流中排列

left,元素會立即脫離文檔流渠鸽,向頁面的左側(cè)浮動

right叫乌,元素會立即脫離文檔流,向頁面的右側(cè)浮動

1.當(dāng)為一個元素設(shè)置浮動以后(float屬性是一個非none的值)徽缚,元素會立即脫離文檔流憨奸,元素脫離文檔流以后,它下面的元素會立即向上移動猎拨。

2.元素浮動以后膀藐,會盡量向頁面的左上或右上漂浮,直到遇到遇到父元素的邊框或者其他的浮動元素红省。

3.如果浮動元素上邊是一個沒有浮動的塊元素额各,則浮動元素不會超過塊元素。

4.浮動的元素不會超過他的兄弟元素吧恃,最多最多一邊齊虾啦。

5.浮動元素不會蓋住文字,文字會自動環(huán)繞在浮動元素的周圍痕寓,所以我們可以通過設(shè)置文字環(huán)繞圖片小果傲醉。

6.當(dāng)元素設(shè)置浮動以后,會完全脫離文檔流呻率,塊元素脫離文檔流以后硬毕,高度和寬度都會被內(nèi)容撐開。

7.開啟span的浮動礼仗,內(nèi)聯(lián)元素脫離文檔流以后會變成塊元素吐咳。

二.清除浮動(clear)

由于受到box1浮動的影響,box2整體向上移動了100px元践,我們有時希望清除掉其他元素浮動對當(dāng)前元素產(chǎn)生的影響韭脊,這是可以使用clear來完成功能。clear可以用來清除其他浮動元素對當(dāng)前元素的影響单旁。

可選值:

none:默認(rèn)值沪羔,不清除浮動

left:清除左側(cè)浮動元素對當(dāng)前元素的影響

right:清除右側(cè)浮動元素對當(dāng)前元素的影響

both:清除兩側(cè)浮動元素對當(dāng)前元素的影響(例如解決高度塌陷的問題)

三.簡單布局

1.自動布局

通過之前box的學(xué)習(xí)、邊距以及一些文檔流和float的學(xué)習(xí)象浑,可以做一個簡單的web布局

web簡單布局

2.自適應(yīng)布局

這個= =emm蔫饰,道行不深琅豆,日后在學(xué)!

四.高度塌陷問題

在文檔流中篓吁,父元素的高度默認(rèn)是被子元素?fù)伍_的趋距,也就是子元素越多,父元素越高越除。但是當(dāng)為子元素設(shè)置浮動以后需节腐,子元素會完全脫離文檔流,此時將會導(dǎo)致子元素?zé)o法撐起父元素的高度摘盆,導(dǎo)致父元素的高度塌陷翼雀。由于父元素的高度塌陷了,則父元素下的所有元素都會向上移動孩擂,這樣將會導(dǎo)致頁面布局混亂狼渊。

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

我們可以將父元素的高度寫死,以避免塌陷的問題出現(xiàn)类垦,但是一旦寫死狈邑,父元素的高度將不能自動適應(yīng)子元素的高度,所以這種方案是不推薦使用的蚤认。

高度塌陷

根據(jù)W3C的標(biāo)準(zhǔn)米苹,在頁面中元素都有一個隱含的屬性叫做Block Formatting Context,簡稱BFC砰琢。

該屬性可以設(shè)置打開或關(guān)閉蘸嘶,默認(rèn)是關(guān)閉的。

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

1.父元素的外邊距不會和子元素重疊

2.開啟BFC的元素不會被下面的元素所覆蓋

3.開啟BFC的元素可以包含浮動的子元素

如何開啟元素的BFC

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

使用這種方式開啟训唱,雖然可以撐開父元素,但是會導(dǎo)致父元素的寬度丟失挚冤,而且使用這種方式也會導(dǎo)致下邊的元素上移况增,不能解決問題

設(shè)置float,導(dǎo)致父元素寬度丟失

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

3.設(shè)置元素的display:inline-block

可以解決問題训挡,但是也是會導(dǎo)致寬度丟失澳骤,不推薦使用這種方式。

inline-block

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

overflow:hidden

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

說了半天宴凉,總結(jié)一下就是誊锭,當(dāng)出現(xiàn)高度塌陷問題的時候表悬,在父元素加一個overflow:hidden的來解決。

另外說一下這個overflow兼容問題丧靡,在IE6及以下的瀏覽器中不支持BFC蟆沫,所以使用這種方式不能兼容IE6籽暇。在IE6中雖然沒有BFC,但是具有另一個隱含的屬性叫hasLayout饭庞,該屬性的作用和BFC類似戒悠,所在IE6瀏覽器可以通過開hasLayout來解決這個問題。

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

直接將元素的zoom設(shè)置為1即可绸狐。(zoom:1;)

zoom表示放大的意思累盗,后邊跟著一個數(shù)值寒矿,寫幾就將元素放大幾倍。

zoom:1 若债;表示不放大元素符相,但是通過該樣式可以開啟hasLayout

zoom這個樣式,只在IE中支持蠢琳,其他瀏覽器不支持啊终。

好了,不要理這個zoom了傲须。蓝牲。。學(xué)了半天泰讽,不支持其他瀏覽器搞旭。

5.解決高度塌陷方案五(使用增加空白div清除浮動clear):

可以直接在高度塌陷的父元素的最后,添加一個空白div菇绵,由于這個div并沒有浮動肄渗,所以他是可以撐開父元素的高度的,然后再對其進行清除浮動clear咬最,這樣可以通過這個空白的div來撐開父元素的告訴翎嫡,基本沒有副作用。

增加空白div永乌,用清除浮動float惑申,解決高度塌陷

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

6.通過after偽類翅雏,直接在父元素后面添加一個內(nèi)容

可以通過after偽類向元素的最后添加一個空白的塊元素圈驼,然后對其清除浮動,這樣做和添加一個div的原理一樣望几,可以達到一個相同的效果绩脆。

而且不會在頁面中添加多余的div,這是我們最推薦使用的方式,幾乎沒有副作用靴迫。

使用after偽類惕味,解決高度塌陷

五.導(dǎo)航條練習(xí)

導(dǎo)航欄點擊效果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市玉锌,隨后出現(xiàn)的幾起案子名挥,更是在濱河造成了極大的恐慌,老刑警劉巖主守,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禀倔,死亡現(xiàn)場離奇詭異,居然都是意外死亡参淫,警方通過查閱死者的電腦和手機蹋艺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黄刚,“玉大人捎谨,你說我怎么就攤上這事°疚” “怎么了涛救?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長业扒。 經(jīng)常有香客問我检吆,道長,這世上最難降的妖魔是什么程储? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任蹭沛,我火速辦了婚禮,結(jié)果婚禮上章鲤,老公的妹妹穿的比我還像新娘摊灭。我一直安慰自己,他們只是感情好败徊,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布帚呼。 她就那樣靜靜地躺著,像睡著了一般皱蹦。 火紅的嫁衣襯著肌膚如雪煤杀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天沪哺,我揣著相機與錄音沈自,去河邊找鬼。 笑死辜妓,一個胖子當(dāng)著我的面吹牛枯途,可吹牛的內(nèi)容都是我干的忌怎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柔袁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了异逐?” 一聲冷哼從身側(cè)響起捶索,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎灰瞻,沒想到半個月后腥例,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡酝润,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年燎竖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片要销。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡构回,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疏咐,到底是詐尸還是另有隱情纤掸,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布浑塞,位于F島的核電站借跪,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏酌壕。R本人自食惡果不足惜掏愁,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望卵牍。 院中可真熱鬧果港,春花似錦、人聲如沸糊昙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽溅蛉。三九已至公浪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間船侧,已是汗流浹背欠气。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镜撩,地道東北人预柒。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓队塘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宜鸯。 傳聞我的和親對象是個殘疾皇子憔古,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354