国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

css-浮動(dòng)

1treeS / 881人閱讀

摘要:然而,接著浮動(dòng)盒創(chuàng)建的當(dāng)前及后續(xù)行盒會(huì)進(jìn)行必要的縮短,為了給浮動(dòng)盒的讓出空間。

一,浮動(dòng)的定義

一個(gè)浮動(dòng)盒會(huì)向左或向右移動(dòng),直到其外邊(outer edge)挨到包含塊邊沿或者另一個(gè)浮動(dòng)盒的外邊。如果存在行盒,浮動(dòng)盒的外top(邊)會(huì)與當(dāng)前行盒的top(邊)對(duì)齊。如果沒有足夠的水平空間來浮動(dòng),它會(huì)向下移動(dòng),直到空間合適或者不會(huì)再出現(xiàn)其它浮動(dòng)了

因?yàn)楦?dòng)(盒)不在普通流內(nèi),在浮動(dòng)盒之前或者之后創(chuàng)建的未定位的(non-positioned)塊盒會(huì)豎直排列,就像浮動(dòng)不存在一樣。然而,接著浮動(dòng)盒 創(chuàng)建的當(dāng)前及后續(xù)行盒會(huì)進(jìn)行必要的縮短,為了給浮動(dòng)(盒)的margin box讓出空間。

二,浮動(dòng)的例子

浮動(dòng)的定義很枯燥,下面我們通過幾個(gè)例子,來理解浮動(dòng)的概念。
1.浮動(dòng)盒放不下會(huì)換行
demo 鏈接描述

1
2
3

執(zhí)行結(jié)果
所有盒子都會(huì)向左浮動(dòng),直到外邊沿挨著塊邊沿。由于容器寬度不夠,box3放不下,就只能向下移動(dòng)最左邊

2.被卡住
demo 鏈接描述

1
2
3

執(zhí)行結(jié)果
由于box1的高度比box2的高,box3在向下向左移動(dòng)的時(shí)候,遇到了box1的外邊沿,就停止移動(dòng)了。

3.浮動(dòng)和文本
demo鏈接描述

1

挨到包含塊邊沿或者另一個(gè)浮動(dòng)盒的外邊。如果存在行盒,浮動(dòng)盒的外top(邊)會(huì)與當(dāng)前行盒的top(邊)對(duì)齊 如果沒有足夠的水平空間來浮動(dòng),它會(huì)向下移動(dòng),直到空間合適或者不會(huì)再出現(xiàn)其它浮動(dòng)了

2
3

執(zhí)行結(jié)果
我們給p段落加上背景色,發(fā)現(xiàn)p段落是看不見浮動(dòng)元素的,但里面的文字是可以看見浮動(dòng)元素的。
當(dāng)一個(gè)普通元素遇到一個(gè)浮動(dòng)元素,普通元素是看不見浮動(dòng)元素的。但里面的行盒是可以看見浮動(dòng)元素的,行盒會(huì)縮短并給浮動(dòng)元素讓位

寫一下我理解的行盒的概念。行盒就是 line-box,也就是一個(gè)塊級(jí)元素展示出的每一行就是一個(gè)行盒。塊級(jí)元素內(nèi)展示在一行的所有元素共同構(gòu)成了一個(gè)行盒。比如下圖的img和span1構(gòu)成一個(gè)行盒,剩下2個(gè)span和button構(gòu)成另外一個(gè)行盒。當(dāng)頁面面積發(fā)生改變,每行的內(nèi)容變化,行盒的內(nèi)容也會(huì)變化。
這里有一篇寫行盒(line box)垂直方向的文章鏈接描述

4.浮動(dòng)會(huì)脫離普通流
普通流中所遵循的規(guī)則是塊級(jí)元素占據(jù)一行,行內(nèi)元素占據(jù)內(nèi)容的寬度。所有元素從上到下依次排列,普通元素可以把父元素的內(nèi)容撐開。
但浮動(dòng)元素脫離了普通流,元素不是一個(gè)個(gè)從上到下排列的,浮動(dòng)元素也不能把父元素?fù)伍_,因?yàn)楦冈貕焊涂床灰姼?dòng)元素。
demo鏈接描述

5.塊級(jí)元素設(shè)置浮動(dòng)之后,寬度會(huì)收縮,寬度由內(nèi)容決定。
行內(nèi)元素設(shè)置浮動(dòng)之后,可以設(shè)置寬高,內(nèi)外邊距。
感覺有點(diǎn)像inline-block的特性


  
這是div
這是span

執(zhí)行結(jié)果


當(dāng)我們?nèi)∠?dòng),結(jié)果是div占據(jù)一整行,span不能設(shè)置寬高和內(nèi)外邊距。

6.用浮動(dòng)設(shè)置一個(gè)簡單的導(dǎo)航欄

  

三,浮動(dòng)的副作用

1.對(duì)后續(xù)元素位置產(chǎn)生影響
demo:鏈接描述

 
側(cè)邊欄固定寬度
內(nèi)容區(qū)塊自適應(yīng)寬度

執(zhí)行結(jié)果:
由于浮動(dòng)元素脫離普通文檔流,導(dǎo)致浮動(dòng)元素后面下一個(gè)元素footer的排列會(huì)出錯(cuò)。

(2)父容器高度計(jì)算出現(xiàn)問題
父元素看不到浮動(dòng)元素,如果父元素沒有設(shè)置高度,浮動(dòng)元素是無法撐開父容器的。
demo鏈接描述
/li里面的元素全部浮動(dòng)的情況下,.navbar的高度為0,所以設(shè)置背景色無效

四:清除浮動(dòng)

(1)clear屬性
clear可以用于任何元素,無論是不是浮動(dòng)元素都可以加。

clear: left;

官方解釋:要求該盒的top border邊位于源文檔中在此之前的元素形成的所有左浮動(dòng)盒的bottom外邊下方
不正經(jīng)的理解:如果我前面有左浮動(dòng)元素,我必須位于它的下方

clear: right;

官方解釋:要求該盒的top border邊位于源文檔中在此之前的元素形成的所有右浮動(dòng)盒的bottom外邊下方
不正經(jīng)的理解:如果我前面有右浮動(dòng)元素,我必須位于它的下方

clear:both;

如果我前面有浮動(dòng)元素,我必須位于它的下方

(2)封裝一個(gè)clearfix的屬性,用于父元素清除浮動(dòng)
原理:父元素看不見元素,導(dǎo)致高度不正常。那我們就放一個(gè)普通元素在父元素的最后,把高度撐開。因用偽元素可以省一個(gè)標(biāo)簽,所以就用偽元素

.clearfix::after {
  content:"";  //在父元素的最后生成一個(gè)內(nèi)容為空的元素。
  display: block; //生成的偽元素是內(nèi)聯(lián)元素,需要設(shè)置成塊級(jí)元素來占位置啊
  clear: both;  //把這個(gè)元素清除浮動(dòng),放在父元素的最下方,把父元素?fù)伍_
}

使用:把.clearfix封裝成一個(gè)屬性,以后想要在哪里清除浮動(dòng),就給它的父元素加上.clearfix的屬性。
demo鏈接描述

五:浮動(dòng)和負(fù)margin

兩個(gè)浮動(dòng)元素,如果因放不下導(dǎo)致其中一個(gè)下移,對(duì)下移的元素設(shè)置負(fù) margin 值。
當(dāng)-margin加自身的寬度小于容器的寬度,可將其上移.
如圖所示,當(dāng)box2的負(fù)margin為-2px,才能上移。

六:總結(jié)

1、浮動(dòng)元素脫離了普通文檔流,文檔的普通流中的元素表現(xiàn)的就像浮動(dòng)元素不存在一樣,但文本可以看見浮動(dòng)元素
2、設(shè)置浮動(dòng)后行內(nèi)元素?fù)碛幸恍K級(jí)元素的特性,可以設(shè)置寬高margin
塊級(jí)元素有了行內(nèi)元素的特性,不再占據(jù)一整行,寬度決定于自身內(nèi)容
3、浮動(dòng)元素不會(huì)將父容器撐開
4、浮動(dòng)元素左右浮動(dòng)時(shí)遇到其他浮動(dòng)元素會(huì)停止
5、如果用了浮動(dòng),其父元素最好需要清除浮動(dòng)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/114158.html

相關(guān)文章

  • 理解CSS浮動(dòng)與清理

    摘要:浮動(dòng)為什么會(huì)有文本環(huán)繞效果產(chǎn)生這個(gè)疑問主要來自于以往的印象浮動(dòng)的元素是脫離文檔流的。也就是說,浮動(dòng)元素的確脫離了文檔流,因此文檔流中的塊框會(huì)無視浮動(dòng)的元素,但是文本不會(huì)。 作為前端寫了很多頁面布局,但是浮動(dòng)這塊一直是我似懂非懂的盲點(diǎn),一方面用浮動(dòng)能實(shí)現(xiàn)很多布局,另一方面浮動(dòng)造成的影響又會(huì)破壞布局讓人頭疼,所以今天就特地寫篇博文解決這塊盲點(diǎn)。 本文主要討論以下幾個(gè)問題:1.浮動(dòng)的原始用途...

    Tonny 評(píng)論0 收藏0
  • 理解CSS浮動(dòng)與清理

    摘要:浮動(dòng)為什么會(huì)有文本環(huán)繞效果產(chǎn)生這個(gè)疑問主要來自于以往的印象浮動(dòng)的元素是脫離文檔流的。也就是說,浮動(dòng)元素的確脫離了文檔流,因此文檔流中的塊框會(huì)無視浮動(dòng)的元素,但是文本不會(huì)。 作為前端寫了很多頁面布局,但是浮動(dòng)這塊一直是我似懂非懂的盲點(diǎn),一方面用浮動(dòng)能實(shí)現(xiàn)很多布局,另一方面浮動(dòng)造成的影響又會(huì)破壞布局讓人頭疼,所以今天就特地寫篇博文解決這塊盲點(diǎn)。 本文主要討論以下幾個(gè)問題:1.浮動(dòng)的原始用途...

    cyqian 評(píng)論0 收藏0
  • 了解CSS浮動(dòng)以及清理浮動(dòng)(Float)

    摘要:浮動(dòng)浮動(dòng)的框可以向左或向右移動(dòng),直到它的外邊緣碰到包含框或另一個(gè)浮動(dòng)框的邊框?yàn)橹埂S捎诟?dòng)框不在文檔的普通流中,相當(dāng)于不占用空間,所以文檔的普通流中的塊框表現(xiàn)得就像浮動(dòng)框不存在一樣。 CSS浮動(dòng) 浮動(dòng)的框可以向左或向右移動(dòng),直到它的外邊緣碰到包含框或另一個(gè)浮動(dòng)框的邊框?yàn)橹埂S捎诟?dòng)框不在文檔的普通流中,相當(dāng)于不占用空間,所以文檔的普通流中的塊框表現(xiàn)得就像浮動(dòng)框不存在一樣。 CSS ...

    TZLLOG 評(píng)論0 收藏0
  • 理解CSS浮動(dòng)與清除浮動(dòng)

    摘要:那我們舉個(gè)栗子當(dāng)先聲明一個(gè)元素向左浮動(dòng)時(shí),由于脫離文檔流,這個(gè)元素的右邊就會(huì)空出一片空間,空間的長寬與浮動(dòng)元素長寬相同。總結(jié)總結(jié)下來,浮動(dòng)與清除浮動(dòng)的順序關(guān)系如下設(shè)置元素浮動(dòng),元素脫離文檔流,不計(jì)算高度。 本文主要探討兩個(gè)問題: 為什么CSS設(shè)置浮動(dòng)會(huì)引起父元素塌陷 為什么設(shè)置clear:both能清除浮動(dòng),并撐開父元素。 起因 CSS的浮動(dòng),算是我在寫網(wǎng)頁時(shí)用的最多的屬性之一。但...

    劉東 評(píng)論0 收藏0
  • CSS-清除浮動(dòng)

    摘要:清除浮動(dòng)方法方法一使用帶屬性的空元素在浮動(dòng)元素后使用一個(gè)空元素如,并在中賦予屬性即可清理浮動(dòng)。 什么是CSS清除浮動(dòng)? 在非IE瀏覽器(如Firefox)下,當(dāng)容器的高度為auto,且容器的內(nèi)容中有浮動(dòng)(float為left或right)的元素,在這種情況下,容器的高度不能自動(dòng)伸長以適應(yīng)內(nèi)容的高度,使得內(nèi)容溢出到容器外面而影響(甚至破壞)布局的現(xiàn)象。這個(gè)現(xiàn)象叫浮動(dòng)溢出,為了防止這個(gè)現(xiàn)象...

    劉厚水 評(píng)論0 收藏0
  • CSS浮動(dòng)其實(shí)很簡單

    摘要:實(shí)驗(yàn)最基本測(cè)驗(yàn)浮動(dòng)實(shí)驗(yàn)對(duì)應(yīng)結(jié)果實(shí)驗(yàn)結(jié)果分析因?yàn)闉閴K標(biāo)簽,而且處于同一文檔流當(dāng)中,固會(huì)向下排列。實(shí)驗(yàn)左浮動(dòng),右浮動(dòng),左浮動(dòng)浮動(dòng)實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)結(jié)果分析左浮動(dòng),所以失去塊級(jí)作用,并且脫離標(biāo)準(zhǔn)文檔流,因此在第一行最左邊。 其實(shí)CSS浮動(dòng)原理就三句話,不像網(wǎng)上的某些文章說的天花亂墜! 浮動(dòng)必會(huì)脫離文檔流 浮動(dòng)會(huì)失去塊級(jí)作用 浮動(dòng)只在自己所在位置那行向左或者向右浮動(dòng) 請(qǐng)仔細(xì)理解上面這三句話,下面...

    Jiavan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<