目錄
#一、文檔流的概念指什麼?有哪種方式可以讓元素脫離文檔流程?
二、有幾種定位方式,分別是如何實現定位的,使用場景如何?
三、absolute, relative, fixed偏移的參考點分別是什麼?
四、z-index 有什麼作用? 如何使用?
margin都可以使元素位置發生偏移?二者有什麼區別? " >五、position:relative和負margin都可以使元素位置發生偏移?二者有什麼區別?
#六、如何讓一個固定寬高的元素在頁面上垂直水平居中?
七、浮動元素有什麼特徵?對其他浮動元素、普通元素、文字分別有什麼影響?
清除浮動指什麼? 如何清除浮動?" >1、清除浮動指什麼? 如何清除浮動?
首頁 web前端 css教學 關於CSS浮動、定位的詳細說明

關於CSS浮動、定位的詳細說明

Mar 15, 2017 am 11:20 AM

關於CSS浮動、定位的詳細說明

#一、文檔流的概念指什麼?有哪種方式可以讓元素脫離文檔流程?

  • 文檔流,指的是元素排版佈局過程中,元素會自動從左到右,從上往下的流式排列。並最終窗體自上而下分成一行行,並在每行中按從左到右的順序排放元素。脫離文檔流即是元素打亂了這個排列,或是從排版中拿走。

  • 讓元素脫離文件流的方法有:浮動和定位。

二、有幾種定位方式,分別是如何實現定位的,使用場景如何?

CSS定位方式有四種:預設定位(static)、相對定位(relative)、絕對定位(absolute)和固定定位(fixed)

關於CSS浮動、定位的詳細說明

  • relative:產生相對定位的元素,透過top,bottom,left,right的位置相對於其正常位置進行定位。其中的相對指的是相對於元素在預設流中的位置。

注意:

1.將元素position屬性設為relative之後,再透過top,bottom,left,right屬性對其進行相對於原來位置的偏移;

2.元素偏移之後,他本來在默認文檔流中佔據的位置仍然存在,其緊挨其後的元素的定位依據它本來的位置定位;

3.該元素偏移之後,可能存在覆蓋其他元素的情況,可以使用z-index屬性顯示層級有限層級。

範例:

關於CSS浮動、定位的詳細說明

第二個盒子元素相對於先前的位置(虛線部分)向下平移了20px,向右平移了30px。

要想讓第三個區塊級元素被遮蔽的部分浮現出來,我們可以使用以下程式碼實作:

關於CSS浮動、定位的詳細說明

##注意:使用z-index必須確保元素的樣式含有定位方式,之前忘了給box3添加定位方式,導致z-index對box3不起作用。

  • absolute:產生絕對定位的元素,相對於static定位外的第一個父元素進行定位。

注意:

1.絕對定位的元素已經脫離了文檔流,普通流中其他元素的佈局就像絕對元素不存在一樣;

2.絕對定位的元素的位置是相對於最近的已定位的祖先元素,如果元素沒有已定位的祖先元素,它的位置就相對於body;

##3.絕對定位的框可以覆蓋頁面的其他元素。

範例:

關於CSS浮動、定位的詳細說明這種情況是離box2最近的父元素已定位的情況,如果離box2最近的父元素沒有定位的話,範例如下:

關於CSS浮動、定位的詳細說明

    fixed:本質上是絕對定位,不為元素預留空間。透過指定相對於螢幕視窗的位置來指定元素的空間,且元素的位置在螢幕滾動時不會改變。套用於許多網站頂端的固定
  • 導航

    、右下角的固定廣告等等。

  • 範例:

關於CSS浮動、定位的詳細說明

三、absolute, relative, fixed偏移的參考點分別是什麼?

absolute偏移的參考點是:相對於最近的已定位的父元素,如果沒有,則相對於body元素;

relative偏移的參考點是:相對於元素在普通串流中的原來位置;

fixed偏移的參考點是:相對於瀏覽器視窗。

四、z-index 有什麼作用? 如何使用?

z-index屬性用於設定節點的堆疊順序,擁有更高堆疊順序的節點將顯示在堆疊順序較低的節點前面。

使用方法:範例

關於CSS浮動、定位的詳細說明

1.z-index只對定位元素有效(position:relative||absolute||fixed);

2.z-index只可比較同級元素

五、position:relative和負margin都可以使元素位置發生偏移?二者有什麼區別?

position:relative和負margin都可以使元素位置偏移,二者的差異表現在:

  • 負margin會使元素在文檔流中的位置發生偏移,它會放棄偏移之前佔據的空間,緊挨其後的元素會填充這部分空間;

  • 相對定位後元素位置發生偏移,它仍會堅守原來佔據的空間,不會讓文檔流的其他元素流入。

範例:

關於CSS浮動、定位的詳細說明

關於CSS浮動、定位的詳細說明

#六、如何讓一個固定寬高的元素在頁面上垂直水平居中?

可以用絕對定位和負margin,範例:

關於CSS浮動、定位的詳細說明

七、浮動元素有什麼特徵?對其他浮動元素、普通元素、文字分別有什麼影響?

  • 浮動元素的特徵有:

1.塊在一排顯示;

2.內聯元素支援寬高;

3.無論是區塊元素或內聯元素,沒有寬度時預設內容撐開寬度;

4.脫離文件流;

5.提升層級半級。

  • 對其他浮動元素的影響:後浮動的元素永遠不會超過先浮動元素的頂端。

  • 對普通元素的影響:浮動元素會從文件正常流中刪除,使得緊鄰它的元素位置發生偏移,影響佈局。

  • 對文字的影響:浮動元素向下延伸時,不會影響正常文字的顯示,文字會相對於浮動元素進行偏移。但部分文字背景會被浮動元素遮住。 (可參考大話FLOAT

浮動範例:

關於CSS浮動、定位的詳細說明

1、清除浮動指什麼? 如何清除浮動?

清除浮動指的是:在非IE瀏覽器(如Firefox)下,當容器的高度為auto,且容器的內容中有浮動(float為left或right)的元素,在這種情況下,容器的高度不能自動伸長以適應內容的高度,使得內容溢出到容器外面而影響佈局的現象,為了防止這個現象的出現而進行的CSS處理,就叫CSS清除浮動。

清除浮動的方法:

1.使用帶有clear屬性的空元素

在浮動元素後使用一個空元素如<p class="clear"></p> ,並在CSS中賦予.clear{clear:both;} 屬性即可清理浮動。也可使用 <br class="clear"><hr class="clear"> 來進行清理。

2.使用CSS的overflow屬性

為浮動元素的容器新增overflow:hidden;或overflow:auto;可以清除浮動,另外在IE6 中還需要觸發hasLayout ,例如為父元素設定容器寬高或設定zoom:1。

3.使用CSS的:after偽元素

附加:關於使用clear:both清除浮動,一直都不太明白,還有就是對清除浮動的理解有誤,以為清除浮動之後,元素的渲染順序和普通流一樣,實際不是這樣的,下面給出我自己的理解,不足之處,歡迎大家批評指正。

  • 關於浮動

如下程式碼:

在父容器中新增一個背景圖片 ,圖片會依照普通流渲染

關於CSS浮動、定位的詳細說明

若是在此基礎上為背景圖片添加浮動,效果如下:

關於CSS浮動、定位的詳細說明

# #我們可以看到父元素高度塌陷,背景圖片脫離文檔流,所以此時父容器p補給高度了,讓我們為父容器添加點文字看看它的高度變化

關於CSS浮動、定位的詳細說明

父容器的高度被撐開了,有木頭!有木有!

所以子元素浮動使得父元素塌陷的原因是:因為沒有預先設定p高度,所以p高度由其包含的子元素高度決定。而浮動脫離文檔流,所以圖片並不會被計算高度。此時的p中,相當於p中子元素高度為0。

  • 一個困擾我很久的問題,跟大家分享下,上程式碼:

關於CSS浮動、定位的詳細說明

關於CSS浮動、定位的詳細說明

我不理解的點是:為什麼情況二中box2的寬度比情況一中box2的寬度大,情況二中的box2可以浮動上去,而情況一中的不可以呢?

答案是:因為情況一中寬度限制100px,所以box2文字不能靠右圍繞,所以只能往下。 對於情況2,因為寬度為200px,所以box2在這個寬度內可以圍繞box1

  • #關於clear:both 的理解:

Clear :both;其實就是利用清除浮動來把外層的p撐開,所以有時候,我們在將內部p都設置成浮動之後,就會發現,外層p的背景沒有顯示,原因就是外層的p沒有撐開,太小,所以能看到的背景僅限於一條線。

範例如下:

關於CSS浮動、定位的詳細說明

關於CSS浮動、定位的知識先說這麼多,有什麼不足的地方歡迎大家指正。

以上是關於CSS浮動、定位的詳細說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用GraphQL緩存 使用GraphQL緩存 Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

使用Redwood.js和Fauna構建以太坊應用 使用Redwood.js和Fauna構建以太坊應用 Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

用高架創建自己的野蠻人 用高架創建自己的野蠻人 Mar 18, 2025 am 11:23 AM

無論您是開發人員的哪個階段,我們完成的任務(無論大小)都會對我們的個人和專業成長產生巨大影響。

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

See all articles