1. 程式人生 > >CSS中浮動(Float)的作用

CSS中浮動(Float)的作用

課程關鍵詞:浮動

頁面佈局有兩種方式

引用:
1)浮動Float 
2)定位Position
今天就來一個小小的練習,讓大家理解Float的含義 複製內容到剪貼簿
程式碼:
【例子】
要求:
1)兩個方塊,一個紅色#900,一個藍色#009;
2)紅色方塊寬度和高度均為200畫素,藍色方塊寬度為300畫素,高度為200畫素;
3)紅色方塊藍的上外邊距(margin-top)和左外邊距(margin-left)均為20畫素;
頁面效果如下:



原始碼:   

大家應該注意到了,雖然紅色方塊的寬度並不是100%,但是藍色並未和紅色處於同一行,這就是塊狀元素比較“霸道”的一點,(即使塊狀元素的寬度不是100%,它也不允許其他元素和他同在一行
)為了消除這種“霸權”,讓紅色和藍色方塊都處在一行,如圖



此時就需要拿出我們的利器Float!只需要在紅色方塊的CSS裡面加上“float:left;”,這時候在IE6中可以看到藍色方塊的確跑到紅色方塊的後面了,並且處於一行了,但是在FireFox中卻變成了如下效果:



這時候就需要注意了,FF中如果前面的區域浮動了,後面的那個區域很有可能就會和前面的區域發生重疊並錯位。

怎麼才能解決這個問題,解決這個瀏覽器相容的問題,很容易,只需要在藍色方塊的CSS程式碼中也加入“Float:left;”,問題就解決了,加上試試,看看在FF中藍色方塊是不是和紅色方塊處於一行了~

到這裡,大家應該明白Float的作用了吧,就是為了消除塊狀元素“霸權主義”的一把利器!在佈局頁面的時候有時候是需要消除塊狀元素霸權主義才能佈局好喲,比如KwooJan的部落格中間內容部分,分為左邊(LEFT)和右邊(RIGHT),就是要用上面這個方法佈局的喲,如下圖



細心的同學會注意到,在IE6中紅色方塊距離瀏覽器的左邊距並不是CSS程式碼中定義的20畫素,而是40畫素,如下圖:



其實這是IE6的一個BUG,(IE6雙倍邊距BUG),只要滿足下面3個條件才會出現這個BUG: 複製內容到剪貼簿
程式碼:
1)要為塊狀元素;
2)要左側浮動;
3)要有左外邊距(margin-left);
解決這個BUG很容易,只需要在相應的塊狀元素的CSS樹形中加入“display:inline;”,程式碼如下:
引用:
#redBlock{
width:200px;
height:200px;
background:#900;
margin-top:20px;
margin-left:20px;
float:left;
display:inline;
}
現在再看看,是不是IE6和FF顯示一樣了呢~

呵呵,這節課也比較容易吧,如果大家有不明白的可以留言,我會做進一步解釋。
下節課,我們講講“浮動清除(Clear)”問題!

最終程式碼:   

精簡後的程式碼CSS載入更快,大家一看就明白了^_^

相關推薦

CSS浮動Float作用

課程關鍵詞:浮動 頁面佈局有兩種方式 引用: 1)浮動Float  2)定位Position 今天就來一個小小的練習,讓大家理解Float的含義 複製內容到剪貼簿 程式碼: 【例子】 要求: 1)兩個方塊,一個紅色#900,一個藍色#009; 2)紅色方塊寬度

CSS學習——浮動float帶來的問題以及清除浮動

浮動(float)帶來的問題以及清除浮動 在《CSS學習——初識浮動(float)》部落格中,我介紹了學習到的CSS的浮動。那麼我們使用浮動屬性會不會帶來什麼問題呢?下面就說說浮動(float)帶來的問題以及如何清除浮動。 浮動帶來的問題 有可能會影響到後面元素的佈局,可以元

CSS清除浮動Float

課程關鍵詞:清除浮動Clear 還記得第二課我們做的例子的效果麼?最後效果是,紅色方塊和藍色方塊都處於一行,我們使用“Float:left”,打擊了塊狀元素的“霸道”即塊狀元素不允許其他元素和它處於同一行。我們將紅色方塊的CSS程式碼中加入了“Float:left;”後,

一天搞定CSS浮動float的副作用--12

我們通常使用浮動來實現某些元素的佈局,但是往往這些元素浮動會影響其他元素的佈局,因此會產生副作用。 浮動帶來的副作用 1. 塊狀元素,會鑽進浮動元素的下面,被浮動元素所覆蓋,像這樣

CSS學習——初識浮動float

浮動(float) 浮動的作用是讓兩個div左右佈局,在同一行顯示。 程式碼例項 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>&l

css文字text和字型font屬性

文字屬性 1、text-decoration屬性表示文字的修飾 none:取消裝飾 underline :下劃線,與標籤、效果相同 overline :上劃線 line-through :貫穿線(刪除線),與標籤、效果相同 blink :閃爍(因相容性問題很少使用)

css 包含後代選擇器與子選擇器的區別

空格 cto 後代選擇器 sele 作用 大於號 進行 sel spa 子選擇器:即大於號(>),用於選擇指定標簽元素的第一代子元素。.span>li{XXXX}。 包含(後代)選擇器:即加入空格,用於選擇指定標簽的後輩元素。.fisrt span{XXXX}。

浮動float與inline-block的區別

結論:兩者主要區別在於當標籤的【高度不一致】時,體現出的差異如果高度不一致的情況下,想讓他們按順序排列就可以選擇inline-block在浮動時,若第一個元素的高度大於第二個元素的高度,第三個元素浮動時,會與第二元素並排在一列中,這樣不能出現有序排列了。在inline-blo

css佈局之浮動佈局float

CSS佈局模型 流動佈局 流動佈局,為網頁自帶佈局方式也就是說網頁預設情況下就是採用流動佈局方式來完成對HTML元素的佈置。   流動佈局主要有2大特徵: - 從塊級元素上來說,塊級元素在網頁上預設採用從上到下的順序來完成分佈,每個塊級元素獨自一行,不能與其它的任何

CSS進階9—— 那些年騙過你的float和“清浮動

  如果你被這個標題騙進來,那恭喜你,你獲得了一個重新認識float的機會,這句話不僅是我想對前端程式猿說的,也是我想對自己說的。在使用flex佈局之前,float一度是我最最喜歡用的佈局方式,在沒有接觸CSS world之前,我甚至認為float才是最符合"流"特質的屬性,我自己將f

父容器div內的子元素div為float時,父元素無法撐開或高度自適應的解決方式以及cssposition和float的介紹

先簡單給出父元素無法高度自適應時的解決方案:       第一種:在父容器上設定 overflow:auto或者hidden可以讓它自動包含子元素,從而具有了實際的height值。       第二種:在子元素的最下面加上一個 空元素,並且設定clear:both,但

CSS浮動float、clear通俗講解

添加 arc 語法 單純 塊級元素 bsp 依然 www 效果圖 教程開始:   首先要知道,div是塊級元素,在頁面中獨占一行,自上而下排列,也就是傳說中的流。如下圖: 可以看出,即使div1的寬度很小,頁面中一行可以容下div1和div2,div2也不

csscalc的應用

css中calc的應用 假設要實現以下功能,隨著檢視的變化,圖片始終保持如圖的比列,放大或縮小 圖片動態演示 實現 抽象一下如圖所示 aw:寬高比寬度 ah:寬高比高

javabyte負值作&運算時0xff的作用

1.問題由來 專案中遇到一個將byte位元組流轉換成有符號整數和無符號整數的,發現: byte aByte = ByteBuffer.get();----對應的二進位制各位 如果byte為正數:int

Mavendependency依賴的scope作用

一、作用域列舉 Maven官網介紹: There are 6 scopes available: compile This is the default scope, used if none is specified. Compile dependencies are avail

phpStatic靜態關鍵字作用

1、什麼是static? static 是C++中很常用的修飾符,它被用來控制變數的儲存方式和可見性。但在PHP中用 static 關鍵字來定義靜態方法和屬性, 也可用於定義靜態變數以及後期靜態繫結。 2、為什麼要引入static? 函式內部定義的變數,

CSS進階20—— CSS的裝飾屬性和使用者體驗屬性

  本章主要來聊聊CSS中一些雜七雜八的屬性,個人會將裡面的坑提取出來測試一遍加深下印象,比較符合常規的屬性這裡就不贅述了。 1.與眾不同的background-position屬性    background-position屬性支援數值,百分比,關鍵字。

CSS進階18—— CSS的文字處理

  CSS有很多屬性專門用來對文字進行控制,由於這些屬性的作用機制往往是基於內聯盒模型的,因此對於內聯塊狀元素也是有效果的,如我們最常用的text-align:center可以讓內聯元素水平居中。本章我們就來深入探索一下CSS中的文字控制屬性。 1.text-indent負值的妙用

CSS進階17—— CSS的文字處理

  CSS能夠在眾多的佈局標準中脫穎而出的制勝手段就是其強大的文字處理能力,比如最"簡單"的盒子邊緣文字即將超出就自動換行的能力在CSS流的概念裡幾乎是天生的,並逐漸成為了行業內的“常規認知”,然而同時代的SVG標準要想讓文字換行,還需要你手動處理一下,對於計算機來說,沒有什麼是與生俱

CSS進階13—— position:absolute如此高深,我當真不懂

  在上文中,我們探討了絕對定位的包含塊以及“無依賴絕對定位”的特性,本章我們來聊聊absolute的流體特性以及那些和absolute關係甚好的CSS屬性。 1.absolute的流體特性   在前面一文中,我們測試了很多“無依賴絕對定位”的特殊表現,事實上在平時開