久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)

      本篇文章給大家?guī)砹薱ss中float浮動屬性的相關知識詳細解析,float 屬性定義元素在哪個方向浮動,下面我們就來看一下不同的屬性值會出現(xiàn)什么不同的結(jié)果,希望對大家有幫助。

      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)

      CSS 浮動float屬性詳解

      很早以前就接觸過CSS,但對于浮動始終非常迷惑,可能是自身理解能力差,也可能是沒能遇到一篇通俗的教程。

      前些天終于搞懂了浮動的基本原理,迫不及待的分享給大家。

      寫在前面的話:

         由于CSS內(nèi)容比較多,沒有精力從頭到尾講一遍,只能有針對性的講解。    如果讀者理解CSS盒子模型,但對于浮動不理解,那么這篇文章可以幫助你。    小菜水平有限,本文僅僅是入門教程,不當之處請諒解!    本文以p元素布局為例。

      教程開始:

      首先要知道,p是塊級元素,在頁面中獨占一行,自上而下排列,也就是傳說中的流。如下圖:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      可以看出,即使p1的寬度很小,頁面中一行可以容下p1和p2,p2也不會排在p1后邊,因為p元素是獨占一行的。

      注意,以上這些理論,是指標準流中的p。
      小菜認為,無論多么復雜的布局,其基本出發(fā)點均是:“如何在一行顯示多個p元素”。
      顯然標準流已經(jīng)無法滿足需求,這就要用到浮動。

      浮動可以理解為讓某個p元素脫離標準流,漂浮在標準流之上,和標準流不是一個層次。

      例如,假設上圖中的p2浮動,那么它將脫離標準流,但p1、p3、p4仍然在標準流當中,所以p3會自動向上移動,占據(jù)p2的位置,重新組成一個流。如圖:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      從圖中可以看出,由于對p2設置浮動,因此它不再屬于標準流,p3自動上移頂替p2的位置,p1、p3、p4依次排列,成為一個新的流。又因為浮動是漂浮在標準流之上的,因此p2擋住了一部分p3,p3看起來變“矮”了。

      這里p2用的是左浮動(float:left;),可以理解為漂浮起來后靠左排列,右浮動(float:right;)當然就是靠右排列。這里的靠左、靠右是說頁面的左、右邊緣。

      如果我們把p2采用右浮動,會是如下效果:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      此時p2靠頁面右邊緣排列,不再遮擋p3,讀者可以清晰的看到上面所講的p1、p3、p4組成的流。

      目前為止我們只浮動了一個p元素,多個呢?

      下面我們把p2和p3都加上左浮動,效果如圖:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      同理,由于p2、p3浮動,它們不再屬于標準流,因此p4會自動上移,與p1組成一個“新”標準流,而浮動是漂浮在標準流之上,因此p2又擋住了p4。

      咳咳,到重點了,當同時對p2、p3設置浮動之后,p3會跟隨在p2之后,不知道讀者有沒有發(fā)現(xiàn),一直到現(xiàn)在,p2在每個例子中都是浮動的,但并沒有跟隨到p1之后。因此,我們可以得出一個重要結(jié)論:

      假如某個p元素A是浮動的,如果A元素上一個元素也是浮動的,那么A元素會跟隨在上一個元素的后邊(如果一行放不下這兩個元素,那么A元素會被擠到下一行);如果A元素上一個元素是標準流中的元素,那么A的相對垂直位置不會改變,也就是說A的頂部總是和上一個元素的底部對齊。

      p的順序是HTML代碼中p的順序決定的。
      靠近頁面邊緣的一端是前,遠離頁面邊緣的一端是后。
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      為了幫助讀者理解,再舉幾個例子。

      假如我們把p2、p3、p4都設置成浮動,效果如下:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      根據(jù)上邊的結(jié)論,跟著小菜理解一遍:先從p4開始分析,它發(fā)現(xiàn)上邊的元素p3是浮動的,所以p4會跟隨在p3之后;p3發(fā)現(xiàn)上邊的元素p2也是浮動的,所以p3會跟隨在p2之后;而p2發(fā)現(xiàn)上邊的元素p1是標準流中的元素,因此p2的相對垂直位置不變,頂部仍然和p1元素的底部對齊。

      由于是左浮動,左邊靠近頁面邊緣,所以左邊是前,因此p2在最左邊。

      假如把p2、p3、p4都設置成浮動,效果如下:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      道理和左浮動基本一樣,只不過需要注意一下前后對應關系。由于是右浮動,因此右邊靠近頁面邊緣,所以右邊是前,因此p2在最右邊。

      假如我們把p2、p4左浮動,效果圖如下:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      依然是根據(jù)結(jié)論,p2、p4浮動,脫離了標準流,因此p3將會自動上移,與p1組成標準流。p2發(fā)現(xiàn)上一個元素p1是標準流中的元素,因此p2相對垂直位置不變,與p1底部對齊。p4發(fā)現(xiàn)上一個元素p3是標準流中的元素,因此p4的頂部和p3的底部對齊,并且總是成立的,因為從圖中可以看出,p3上移后,p4也跟著上移,p4總是保證自己的頂部和上一個元素p3(標準流中的元素)的底部對齊。

      至此,恭喜讀者已經(jīng)掌握了添加浮動,但還有清除浮動,有上邊的基礎清除浮動非常容易理解。

      經(jīng)過上邊的學習,可以看出:元素浮動之前,也就是在標準流中,是豎向排列的,而浮動之后可以理解為橫向排列。

      清除浮動可以理解為打破橫向排列。

         清除浮動的關鍵字是clear,官方定義如下:       語法:     clear : none | left | right | both     取值:     none  :  默認值。允許兩邊都可以有浮動對象     left   :  不允許左邊有浮動對象     right  :  不允許右邊有浮動對象     both  :  不允許有浮動對象

      定義非常容易理解,但是讀者實際使用時可能會發(fā)現(xiàn)不是這么回事。
      定義沒有錯,只不過它描述的太模糊,讓我們不知所措。

      根據(jù)上邊的基礎,假如頁面中只有兩個元素p1、p2,它們都是左浮動,場景如下:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      此時p1、p2都浮動,根據(jù)規(guī)則,p2會跟隨在p1后邊,但我們?nèi)匀幌M鹥2能排列在p1下邊,就像p1沒有浮動,p2左浮動那樣。

      這時候就要用到清除浮動(clear),如果單純根據(jù)官方定義,讀者可能會嘗試這樣寫:在p1的CSS樣式中添加clear:right;,理解為不允許p1的右邊有浮動元素,由于p2是浮動元素,因此會自動下移一行來滿足規(guī)則。

      其實這種理解是不正確的,這樣做沒有任何效果??葱〔硕ㄕ摚?
      對于CSS的清除浮動(clear),一定要牢記:這個規(guī)則只能影響使用清除的元素本身,不能影響其他元素。

      怎么理解呢?就拿上邊的例子來說,我們是想讓p2移動,但我們卻是在p1元素的CSS樣式中使用了清除浮動,試圖通過清除p1右邊的浮動元素(clear:right;)來強迫p2下移,這是不可行的,因為這個清除浮動是在p1中調(diào)用的,它只能影響p1,不能影響p2。

      根據(jù)小菜定論,要想讓p2下移,就必須在p2的CSS樣式中使用浮動。本例中p2的左邊有浮動元素p1,因此只要在p2的CSS樣式中使用clear:left;來指定p2元素左邊不允許出現(xiàn)浮動元素,這樣p2就被迫下移一行。
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      那么假如頁面中只有兩個元素p1、p2,它們都是右浮動呢?讀者此時應該已經(jīng)能自己推測場景,如下:
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      此時如果要讓p2下移到p1下邊,要如何做呢?

      同樣根據(jù)小菜定論,我們希望移動的是p2,就必須在p2的CSS樣式中調(diào)用浮動,因為浮動只能影響調(diào)用它的元素。

      可以看出p2的右邊有一個浮動元素p1,那么我們可以在p2的CSS樣式中使用clear:right;來指定p2的右邊不允許出現(xiàn)浮動元素,這樣p2就被迫下移一行,排到p1下邊。
      最通俗易懂的CSS浮動float屬性詳解(圖文詳細)
      至此,讀者已經(jīng)掌握了CSS+p浮動定位基本原理,足以應付常見的布局。

      其實,萬變不離其宗,只要讀者用心體會,再復雜的布局都可以通過總結(jié)的規(guī)律搞定。

      (學習視頻分享:css視頻教程)

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號