好程式設計師web前端學習路線分享CSS浮動-文件流篇
好程式設計師web 前端學習路線分享 CSS 浮動 - 文件流篇,純文字的排列,文件流就像我們的文字內容一樣,所有的文字都會緊挨著,一個個排列下來,如果到了邊界,就會換一行排列。當然如果敲回車或者按下空格鍵一般都會認為是一個詞間距,因為英文中每個單詞之間是有距離的,不像中文每個漢字連在一起的。所以不管你敲了幾個回車,不管你敲了幾個空格。程式都認為只有一個詞間距的空格距離。我們把這種現象稱為空白摺疊現象。下圖中的紅色箭頭就是我們敲了回車和敲了空格的效果。
文字和圖片的排列
因為圖文排版的原因,圖片的寬度是一個整體。不像文字可以中間分開,因此在圖文一起的時候我們會發現,圖片作為文件流中的內容也是和一個文字元素一樣,緊挨前一個文字,後面的文字也緊跟著圖片。但是如果一行剩下的位置不夠圖片的寬度,就會自動換一行。
因為圖片和一個文字元素一樣,因此,圖片的高度大於文字的高度,就會把這一行撐高,圖片越高,行越高。在同一行的文字預設就會在圖片的下端。如果你希望文字相對在圖片的中間位置,那麼就需要給圖片設定一個CSS樣式 vertical-align: middle ;注意一定是給圖片設定,不是給文字設定。
當然如果我們設定兩個張圖,注意觀察下面的兩張圖中間的縫隙,原因在於<img src=”img/1.jpg”> 之間是換行的。根據上面文字的特徵,這裡必然也會產生一個空格
如何解決這個問題呢,起始有很多手段,最簡單的是把兩個標籤連線寫,不要換行
塊元素和行內元素
剛才我們所說的都是行內元素,也就是內容新增後會自動放在一行,如果頁面的剩餘的寬度比要放入的元素小,那麼就會自動換行。
除了文字和圖片還有一些其他的HTML 標籤也是行內元素。例如 :
行內元素
<
span>...</
span>行內元素
|
上面所有的行內元素,如果直接寫在程式碼中都會存在同一行中。當然換行br 會將後面的元素都放在另外一行了。
有時候我們希望一個內容可以自己獨立成行。這樣我們就有了塊元素。塊元素會獨立成行,與行內元素做明顯的區分。
例如:
<
address></
address>地址文字
|
塊元素和行內元素具體有哪些區別呢。
|
行內元素 |
塊元素 |
同行 |
輸入行內元素,就會自動同行 |
輸入塊級元素,自動換行,並且獨立佔有一行,其它行內元素不會和它同行的。 |
設定寬高 |
行內元素部分內容是不可以設定寬高的,例如 span 容器 ,a 超連結標籤等等,當然有些還是可以透過 CSS 樣式更改寬高的,例如 input , img,textarea 等非文字的標籤 |
塊元素直接可以設定寬高,如果沒有設定就會根據該元素的父級容器的寬自動設定 100% ,高度是根據內容撐開的,如果沒有內容,塊元素預設高度是 0 ,這點很重要。 |
行內元素和塊元素的互相轉換
行內元素和塊元素可以互相轉換的,例如:
(1) 行內元素轉換為塊元素
這是預設的行內元素
這是轉換後的。我們發現文字塊換行了,而且獨立佔有一行,在這裡我們設定display:block
(2) 塊元素轉換為行內元素
這是預設的div 的塊元素樣式
設定為行內元素後。我們發現寬高失效了。一旦塊級元素設定為行內元素,原來設定的寬高就會失效
(3) 塊元素和行內元素轉換為行內塊元素
有時候我們想讓容器(不是textArea 或者 input )既有寬高又可以排列在同一行中,我們可以轉換為行內塊容器。尤其是我們希望將多個不同寬高的容器放在同一行中,並且可以透過 margin 調節他們的位置(注意:行內元素不能透過 margin 調節垂直位置,因為他們都是同一行的),這時候行內塊元素就非常有必要了。
塊元素變成行內塊元素
行內元素變行內塊元素
我們發現這兩個效果都是一樣的。
大家可能覺得這樣很棒了,我們可以利用圖文混合排列做成網頁了,但是注意我們轉換成了行內塊元素,他們就是在行內了,任何一個更改了marginTop 都會撐開了行高。就會變成這樣:
到此為止我們就認識了標準的文件流,如果想在這種標準文件流中排版出複雜的圖文混排,那基本上很難。因此我們就要學習浮動。浮動就是讓容器脫離了這個標準文件流,就像浮動在頁面上一樣。關於這個問題,我們在下一篇中詳細介紹。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2657356/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師web前端學習路線分享CSS浮動-清除浮動篇程式設計師Web前端CSS
- 好程式設計師Web前端分享前端CSS篇程式設計師Web前端CSS
- 好程式設計師web前端學習路線分享滾動穿透方法程式設計師Web前端穿透
- 好程式設計師web前端分享初學者必看web前端學習路線圖程式設計師Web前端
- 好程式設計師web前端分享前端學習路線自學如何找到工作程式設計師Web前端
- 好程式設計師web前端學習路線分享前端基礎面試題程式設計師Web前端面試題
- 好程式設計師web前端分享CSS基礎篇程式設計師Web前端CSS
- 好程式設計師web前端學習路線分享函式基礎程式設計師Web前端函式
- 好程式設計師web前端學習路線分享Jsonp詳解程式設計師Web前端JSON
- 好程式設計師web前端學習路線分享純css繪製各種圖形程式設計師Web前端CSS
- 好程式設計師web前端分享CSS學習:HSLA顏色模式程式設計師Web前端CSS模式
- 好程式設計師web前端學習路線分享瞭解AJAX是什麼程式設計師Web前端
- 好程式設計師web前端培訓分享怎樣學好css?程式設計師Web前端CSS
- 好程式設計師web前端分享CSS Bug、CSS Hack和Filter學習筆記程式設計師Web前端CSSFilter筆記
- 好程式設計師web前端教程分享CSS技巧!程式設計師Web前端CSS
- 好程式設計師web前端學習路線分享HTML5常見面試題程式設計師Web前端HTML面試題
- 好程式設計師web前端學習路線分享web測試之Js中的函式程式設計師Web前端JS函式
- 好程式設計師web前端培訓分享HTMLCSS學習之CSS基礎程式設計師Web前端HTMLCSS
- 好程式設計師web前端培訓分享CSS基礎知識學習程式設計師Web前端CSS
- 好程式設計師web前端培訓分享學習JavaScript程式設計師Web前端JavaScript
- 好程式設計師Web前端教程分享Vue學習心得程式設計師Web前端Vue
- 好程式設計師web前端學習路線分享css3中的漸進增強和降級程式設計師Web前端CSSS3
- 好程式設計師web前端分享CSS元素型別程式設計師Web前端CSS型別
- 好程式設計師web前端學習路線之Javascript物件導向程式設計師Web前端JavaScript物件
- 好程式設計師web前端分享HTML基礎篇程式設計師Web前端HTML
- 好程式設計師web前端分享應該怎樣學好web前端?程式設計師Web前端
- 好程式設計師web前端培訓分享JavaScript學習指南程式設計師Web前端JavaScript
- 好程式設計師web前端分享Vue學習筆記(一)程式設計師Web前端Vue筆記
- 好程式設計師web前端分享想要學習前端需要學那些課程程式設計師Web前端
- 好程式設計師web前端分享前端 javascript 練習題程式設計師Web前端JavaScript
- 好程式設計師Java學習路線分享SpringCloud程式設計師JavaSpringGCCloud
- 好程式設計師web前端分享CSS3 漸變程式設計師Web前端CSSS3
- 好程式設計師web前端分享主流CSS image比較程式設計師Web前端CSS
- 好程式設計師web前端技術分享css盒模型程式設計師Web前端CSS模型
- 好程式設計師web前端學習路線大廠面試題詳解程式設計師Web前端面試題
- 好程式設計師web前端分享css初始化程式碼程式設計師Web前端CSS
- 好程式設計師web前端教程分享web中CSS絕對定位程式設計師Web前端CSS
- 好程式設計師web前端培訓分享node學習筆記程式設計師Web前端筆記