1. 程式人生 > >靜態頁面制作:8HTML浮動騰挪概念(鋪墊二:圖文混排)

靜態頁面制作:8HTML浮動騰挪概念(鋪墊二:圖文混排)

net 們的 屬於 元素 含義 網頁 我們 紅色 背景

現在那我們來說說第二個鋪墊。

技術分享

第二個鋪墊叫做圖文混排。什麽是圖文混排呢,這個東西我們還需要花些時間來分析一下的。首先看下圖:

技術分享

其實上圖就是一個例子,然而這個例子其實在我們瀏覽網頁,或者看一些微博、博客等文章時,我們發現這種格式很常見。這種有內容、有圖片並且又在一個區域中,這種情況我們就叫做圖文混排。

技術分享

既然說到圖文混排,現在文字我們已經接觸過了,但是圖片該怎麽弄還沒說。我們現在就說說這個圖片怎麽弄?如果說你想讓瀏覽器中有圖片的話,那你就需要加一個<img>,其實全拼就是image,圖片的意思。img是一個單標簽,它是行內元素,如果只寫單標簽其實是沒有實際含義的。因為瀏覽器根本不知道你要顯示那張圖片。所以我們需要為img添加一個src這麽一個屬性,src其實就是source的縮寫,指的是源頭。通過這個屬性就可以指定圖片源在哪裏。

技術分享

這裏我們可以通過<img src=“圖片名稱”>這種引用,就可以把圖片放到瀏覽器裏了,那麽關於圖片的相關知識,我們就說到這,後面我們在詳細說。

技術分享

我們在p標簽中寫一段文字,就達到了上圖的一個效果。由於p標簽是一個塊元素,所以是不會和圖片在一行的,那更別提混合在一起了。根據我們現在所學的內容,我們想要達到混合在一塊的效果,那就是給p標簽添加樣式。

技術分享

當我們給p標簽添加樣式之後,會按照基線排列文字,基線也就是圖片的底端的部分,所以文字在書寫的時候,會從底端開始排列文字。並不會從圖片的頂端開始書寫。那我們可能會想到在方法一種我們使用了一個叫做vertical-aling:top的。

技術分享

由於圖片他本身是一個行內元素,所以無論如何他也只能和一行文字擺在一起,你想跟多行在一塊顯示,那不可能,如果那樣圖片就不是行內元素了,行內元素只能在一行顯示,那麽其他的文字就得從圖片底端下面進行展示,這樣的效果並不是我們想要的。

技術分享

我們需要一個真正的圖文混排,圖片不能局限於某一行,但我們又需要遵循block和inline的原則。

那麽我們就需要開辟新戰場!

那麽開辟什麽心戰場又是我們需要解決的一個問題,我們需要通過三維的角度去觀察,其實我們剛剛所看到的效果都知識三維中的一層。

技術分享

但是三維中的一層,並不能滿足我們的要求,那我們需要像個辦法,什麽辦法呢,就是讓這張圖片在文字的基礎上浮動起來,我們來看看效果。

技術分享

讓圖片不在受一層行的局限,讓圖片飄起來。浮動起來之後,我們發現,一層就留下了空擋。

技術分享

我們使用深紅色來標識出來,流出空擋的這部分,那麽有了空擋之後會發生什麽事情呢,這裏會發生兩件事情。

第一件事是:塊元素會填充空擋。

第二件事是:行內元素會繞著浮動元素的邊框走。

我們對這兩件事進行解釋。首先我們說塊元素填充空擋。那會達到一個什麽樣的效果呢?

技術分享

發現此時背景綠色的p標簽填充到圖片留下來的空擋中了。那麽第二件事就是行內元素環繞浮動元素邊框。這個好像有點不太好理解,我們在來解釋一下。大家可能會想,此時的圖片已經飄起來了,那麽p標簽只需要占滿整行就好了,那有什麽行內元素環繞浮動元素邊框啊。我們現在來回想一下之前說的鋪墊一。p標簽是塊元素,但是文字是行元素。所以我們說的行內元素環繞浮動元素,意思就是圖片中的文字會繞開圖片的區域。就變成了這個樣子。

技術分享

其實這樣的效果就是我們想要的了,這裏我們寫的文字比較少。如果多寫幾行就會環繞圖片進行排列。例如這樣!

技術分享

從平面的角度看,這個就是我們需要的圖文混排了。在這裏我們整理一下我們這節課所涉及到的知識點。

這節內容我們主要涉及到兩個方面:

1.我們說文字是行內元素。所以在標簽中的內容,通屬於文字類型。那麽標簽與文字實際上是嵌套關系。

2.我們了解了圖文混排,由於圖片是行內元素,當圖片和文字混在一起的時候,只有圖片的最頂端有文字,當然這裏我們使用了vertical-align:top; 如果我們想要達到行內文字元素環繞浮動元素,就需要將圖片漂浮起來,騰出來的空擋由行內元素填充,就可以達到真正意義上的圖文混排。

以上就是我們這節主要涉及的內容,下一節我們將浮動騰挪應用於代碼中。

靜態頁面制作:8HTML浮動騰挪概念(鋪墊二:圖文混排)