CSS新手入門筆記整理:CSS浮動布局

文檔流概述

正常文檔流

“文檔流”指元素在頁面中出現的先后順序。正常文檔流,又稱為“普通文檔流”或“普通流”,也就是W3C標準所說的“normal flow”。正常文檔流,將一個頁面從上到下分為一行一行,其中塊元素獨占一行,相鄰行內元素在每一行中按照從左到右排列直到該行排滿。也就是默認情況下頁面元素的布局情況。


脫離文檔流

脫離文檔流,指的是脫離正常文檔流。正常文檔流就是我們沒有使用浮動或者定位去改變的默認情況下的HTML文檔結構。如果我們想要改變正常文檔流,可以使用兩種方法:浮動和定位。


浮動

浮動可以讓獨占一行排布的塊元素并列排布。

語法

float:取值;

屬性值

說明

left

元素向左浮動

right

元素向右浮動


特點:

  • 當一個元素定義了 float:left 或 float:right 時,不管這個元素之前是 inline、 inline-block,還是其他類型,都會變成 block 類型。
  • 當一個元素定義了 float:left 或 float:right 時,這個元素會脫離文檔流,后面的元素會緊跟著填上了空缺的位置。

清除浮動

浮動會影響周圍元素,并且還會引發很多預想不到的問題。在CSS中,我們可以使用clear屬性來清除浮動帶來的影響。

語法

clear:取值;

屬性值

說明

left

清除左浮動

right

清除右浮動

both

同時清除左浮動和右浮動

  • 在實際開發中,幾乎不會使用“clear:left”或“clear:right”來單獨清除左浮動或右浮動,往往都是直截了當地使用“clear:both”來把所有浮動清除,既簡單又省事。
  • 一般都是在浮動元素后面再增加一個空元素,然后為這個空元素定義“clear:both”來清除浮動。在實際開發中,凡是用了浮動之后發現有不對勁的地方,首先應該檢查有沒有清除浮動。

浮動的影響

對自身的影響

如果一個元素設置了浮動,則不管這個元素是什么類型,都會轉化為塊元素,也就是此時 display 屬性的取值為 block。并且可以設置 width、 height、padding 和 margin。

對父元素的影響

如果一個元素設置了浮動,那么它會脫離正常文檔流。如果浮動元素的 height 大于父元素的高度 height,或者父元素沒有定義高度 height,此時浮動元素會脫離父元素。這就是我們常見的 “父元素高度塌陷”。 原因在于, 父元素不能把子元素包裹起來。說白了,就是“老爸管不住兒子,因此兒子離家出走了”。

對兄弟元素的影響

1.兄弟元素是浮動元素

當一個元素是浮動元素,并且它的兄弟元素也是浮動元素時,分兩種情況來探討:

  • 同一方向的兄弟元素。

當一個浮動元素碰到同一個方向的兄弟元素時,這些元素會從左到右、從上到下,一個接著一 個緊挨著排列。


  • 相反方向的兄弟元素。

當一個浮動元素碰到相反方向的兄弟元素時,這兩個元素會移向兩邊(如果父元素的寬度足夠的話)

2.兄弟元素不是浮動元素

該元素會脫離文檔流,兄弟元素如果在該元素的下方時,兄弟元素會緊跟著填上了空缺的位置。 并且該元素會覆蓋兄弟元素。

對子元素的影響

如果一個元素是浮動元素(沒有定義 height),并且它的子元素也是浮動元素,則這個浮動元素會自適應地包含該子元素。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210873.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210873.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210873.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ChatGPT OpenAI API請求限制 嘗試解決

1. OpenAI API請求限制 Retrying langchain.chat_models.openai.ChatOpenAI.completion_with_retry.._completion_with_retry in 4.0 seconds as it raised RateLimitError: Rate limit reached for gpt-3.5-turbo-16k in organization org-U7I2eKpAo6xA7RUa2Nq307ae on reques…

讓內存無處可逃:智能指針[C++11]

智能指針 文章目錄 智能指針前言RAII什么是智能指針智能指針的應用示例 C98的auto_ptr共享型智能指針:shared_ptrshared_ptr的使用初始化獲取原生指針指定刪除器默認刪除器default_delete指定刪除器指定刪除器管理動態數組 shared_ptr的偽實現shared_ptr的注意事項避…

【Docker】進階之路:(五)Docker引擎

【Docker】進階之路:(五)Docker引擎 Docker引擎簡介Docker引擎的組件構成runccontainerd Docker引擎簡介 Docker引擎是用來運行和管理容器的核心部分。Docker首次發布時,Docker 引擎由LXC 和 Docker daemon 兩個核心組件構成。 …

linux驅動開發——內核調試技術

目錄 一、前言 二、內核調試方法 2.1 內核調試概述 2.2 學會分析內核源程序 2.3調試方法介紹 三、內核打印函數 3.1內核鏡像解壓前的串口輸出函數 3.2 內核鏡像解壓后的串口輸出函數 3.3 內核打印函數 四、獲取內核信息 4.1系統請求鍵 4.2 通過/proc 接口 4.3 通過…

算法:有效的括號(入棧出棧)

時間復雜度 O(n) 空間復雜度 O(n∣Σ∣),其中 Σ 表示字符集,本題中字符串只包含 6 種括號 /*** param {string} s* return {boolean}*/ var isValid function(s) {const map {"(":")","{":"}","["…

List截取指定長度(java截取拼接URL)

場景&#xff1a; N多個參數&#xff0c;截取指定個數&#xff0c;拼接URL public static void main(final String[] args) {int count 0;//每頁數量final int pageSize 5;final List<Integer> memberNos ListUtil.toList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13…

python格式化內容

1.字符串格式化: 定義列表 [{"姓名": "張三", "年齡": 18, "性別": "男"}, {"姓名": "里斯李四李斯", "年齡": 18, "性別": "男"}, {"姓名": "斯托夫斯基…

C++知識 抽象基類

抽象基類通常包含至少一個純虛函數&#xff0c;即一個沒有具體實現的虛函數&#xff0c;通過在基類中聲明純虛函數&#xff0c;它強制派生類提供這個函數的具體實現。 通過在類的聲明中使用 virtual 關鍵字和 0 初始化來創建純虛函數&#xff0c;這樣的類就成為抽象基類。以下…

上位機與PLC:ModbusTCP通訊之數據類型轉換

前請提要: 從PLC讀取的數值,不管是讀正負整數還是正負浮點數,讀取過來后都會變成UInt16,也就是Ushort類型 一、ushort(UInt16)轉成 Int32 源代碼方法: //ushort類型轉Int32類型的方法private int ushortToInt32(ushort[] date, int start){//先進行判斷,長度是否正確…

MySQL_6.MySQL常用創建語句

1.數據庫創建,查詢,刪除 (1)創建一個test數據庫 CREATE DATABASE test ; CREATE DATABASE IF NOT EXISTS test; # default character set :默認字符集 CREATE DATABASE IF NOT EXISTS test default character set UTF8; # default collate&#xff1a;默認排序規格 # utf8_g…

前端知識(七)———HTTPS:保護網絡通信安全的關鍵

當談到網絡通信和數據傳輸時&#xff0c;安全性是一個至關重要的問題。在互聯網上&#xff0c;有許多敏感信息需要通過網絡進行傳輸&#xff0c;例如個人身份信息、銀行賬戶信息和商業機密等。為了保護這些信息不被未經授權的人訪問和篡改&#xff0c;HTTPS&#xff08;超文本傳…

AI:大語言模型LLM

LLM 大語言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;是一種利用大量文本數據進行訓練的自然語言處理模型&#xff0c;其評價可以從多個方面進行。 以下是一些主要的評價方面&#xff1a; 語言理解和生成能力&#xff1a;評價大語言模型在自然語言理…

模型評價指標

用訓練好的模型結果進行預測&#xff0c;需要采用一些評價指標來進行評價&#xff0c;才可以得到最優的模型 常用的指標&#xff1a; 1.分類任務 ConfusionMatrix 混淆矩陣Accuracy 準確率Precision 精確率Recall 召回率F1 score H-mean值ROC Curve ROC曲線PR …

PostgreSQL pgvector:如何利用向量數據庫提升搜索效率和精度

LLMs模型實戰教程 文章來源&#xff1a;https://zhuanlan.zhihu.com/p/641516393 Kevin 一、介紹 隨著基礎模型的興起&#xff0c;向量數據庫的受歡迎程度也飆升。事實上&#xff0c;在大型語言模型環境中&#xff0c;向量數據庫也很有用。 在機器學習領域&#xff0c;我們經…

天池SQL訓練營(三)-復雜查詢方法-視圖、子查詢、函數等

-天池龍珠計劃SQL訓練營 SQL訓練營頁面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 3.1 視圖 我們先來看一個查詢語句&#xff08;僅做示例&#xff0c;未提供相關數據&#xff09; SELECT stu_name FROM view_students_info;單從表面上看起來…

C#反射加載程序集并使用

具體實現參考&#xff1a; C# 動態加載DLL通過反射調用參數、方法、窗體_c#反射加載dll并傳入參數-CSDN博客 C#進階學習--反射(Reflection) - 知乎 走進C#反射機制 - 知乎 1.使用過程 //創建數據集 Assembly outerAsm Assembly.LoadFile("D:/your.dll");//獲取…

rancher harvester deploy demo 【部署 harvester v1.2.1】

簡介 Harvester 是一個現代的、開放的、可互操作的、基于Kubernetes的超融合基礎設施(HCI)解決方案。它是一種開源替代方案&#xff0c;專為尋求云原生HCI解決方案的運營商而設計。Harvester運行在裸機服務器上&#xff0c;提供集成的虛擬化和分布式存儲功能。除了傳統的虛擬機…

pgsql存儲過程

由于部分企業數據庫從aws遷移到騰訊云&#xff0c;導致有一個定時任務&#xff08;從詳情表匯總數據到統計表中&#xff09;錯過了觸發&#xff0c;所以這部分企業的數據需要觸發重新刷一下&#xff0c;但是又有規定白天不允許上線&#xff0c;只能把定時任務的邏輯用存儲過程&…

SQL SELECT 語句

SELECT 語句用于從數據庫中選取數據。 SQL SELECT 語句 SELECT 語句用于從數據庫中選取數據。 結果被存儲在一個結果表中&#xff0c;稱為結果集。 SQL SELECT 語法 SELECT column1, column2, ... FROM table_name; 與 SELECT * FROM table_name; 參數說明&#xff1a; …

五花八門客戶問題(BUG) - 用好strace

strace簡介 strace是一個用于跟蹤系統調用和信號傳遞的Linux命令,它是一個集診斷、調試、統計于一體的工具。strace可以監控用戶空間進程和內核的交互,比如系統調用、信號傳遞、進程狀態變更等。它底層使用內核的ptrace特性來實現其功能。 strace最簡單的用法是執行一個指定…