HTML — 浮動

浮動

? ? ?HTML浮動(Float)是一種CSS布局技術,通過float: left或float: right使元素脫離常規文檔流并向左/右對齊,常用于圖文混排或橫向排列內容。浮動元素會緊貼父容器或相鄰浮動元素的邊緣,但脫離文檔流后可能導致父容器高度塌陷,需通過偽元素添加clear: both來修復。傳統布局中,浮動被用于多欄設計或導航菜單,但因需手動計算寬度且適配性差,逐漸被Flexbox和Grid布局替代。使用浮動時需注意元素間的間距控制,避免內容重疊;現代開發中建議優先選擇更直觀的彈性或網格布局,僅保留浮動用于簡單的文本環繞場景,如圖片與文字的自然排版。


浮動的核心特性

? ? ?通過元素脫離文檔流,實現水平對齊,常見于圖文混排或多元素橫向排列。浮動元素緊貼父容器或相鄰元素邊緣,但會導致父容器高度塌陷,需用clear: both清除浮動。

離文檔流

HTML脫離文檔流指元素(如float、fixed定位)不再占據常規布局空間,父容器可能高度塌陷,后續元素會填補其位置,需手動調整布局或清除浮動避免錯位,常見于懸浮層、彈窗等場景。

<div class="float-box"></div>
<p>文字內容將圍繞浮動元素排列...</p><style>
.float-box {float: left;width: 150px;height: 150px;background: skyblue;margin-right: 20px;
}
</style>

此代碼效果:藍色方塊浮動后,段落文字自動環繞

元素自動轉為塊級元素

HTML元素通過設置display:block或特定屬性(如float、position:absolute/fixed)轉為塊級,獨占一行且可設置寬高,如默認塊級元素<div>或行內元素<span>被強制轉換后的表現。

span {float: left;  /* 行內元素變為塊級 */width: 200px; /* 原本無效的屬性生效 */
}

經典布局

HTML經典布局依賴表格、浮動或定位實現,但代碼響應式適配差,需手動計算尺寸,現逐漸被Flex/Grid布局取代,適用于傳統網頁適配場景。

兩欄布局

兩欄布局是頁面被分成左右兩個主要區域。一個常見的例子是左側為導航欄,右側為主要內容區。

?如圖所示,這就是一個經典的兩欄布局

<div class="box"><div class="left">左欄</div><div class="right">右欄</div>
</div><style>
.left {float: left;width: 200px;background: #ffe4b5;
}
.right {float: right;width: 150px;background: #98fb98;
}
</style>

此代碼就是一個正常的兩欄布局框架

三欄布局

三欄布局增加了中間的內容區,兩邊可以作為側邊欄使用。這種布局適合內容較多且需要分類展示的網頁。

??如圖所示,這就是一個經典的三欄布局,HTML元素按照它們在HTML文檔中的順序從上到下、從左到右依次排列的方式。每個塊級元素默認占據一整行,而內聯元素則在同一行內連續排列直到沒有足夠的空間為止。通過改變元素的display、position等屬性,我們可以調整元素的位置和排列方式,但這些操作都是基于標準文檔流進行的。

<div class="box"><div class="left">左欄</div><div class="right">右欄</div><div class="main">主內容區</div>
</div><style>
.left {float: left;width: 200px;background: #ffe4b5;
}
.right {float: right;width: 150px;background: #98fb98;
}
.main {margin: 0 160px 0 210px; /* 間距設置 */
}
</style>

此代碼就是一個正常的三欄布局框架


display 屬性

display屬性定義元素的顯示模式,控制元素排列方式及子元素布局規則,例如display: none可隱藏元素。

display屬性用于定義元素生成的框的類型:

block元素前后換行顯示,寬度默認占滿父容器。

inline元素不換行顯示,只占用其內容所需的空間。

inline-block元素不會獨占一行,但是它可以設置高度和寬度。

none元素不生成任何框,即該元素不會顯示。


float 屬性

float屬性它主要用于圖像環繞文本效果或創建多列布局如:使元素向左/右浮動,脫離文檔流,實現圖文混排或橫向布局;需用clear清除浮動避免父容器高度塌陷。

left元素向左浮動。

right元素向右浮動。

none默認值,元素不會浮動

.image-left {float: left;
}
.image-right {float: right;
}

clear 屬性

HTML的clear屬性用于清除元素兩側的浮動影響,防止被浮動元素環繞,通常加在需恢復文檔流的元素上,如clear: both解決父容器高度塌陷,適配傳統浮動布局場景。

clear屬性用于阻止父元素內的子元素環繞浮動元素。

left不允許元素左邊有浮動元素。

right不允許元素右邊有浮動元素。

both不允許元素左右兩邊都有浮動元素。

none默認值,允許元素四周有浮動元素。


清除浮動

HTML清除浮動解決父容器高度塌陷,常用方法:添加空元素clear:both,父級overflow:hidden現代布局推薦Flex/Grid替代浮動。

清除

在浮動元素后面添加一個空的<div>標簽,并設置clear:both 。

<div style="clear: both"></div>

?BFC觸發

為父容器設置overflow: hidden

.box {border: 3px solid #48dbfb;margin-bottom: 30px;padding: 10px;overflow: hidden; /* 關鍵代碼:觸發BFC */
}

浮動與現代布局對比

特性FloatFlexboxGrid
布局維度一維一維二維
響應式支持需要媒體查詢內置彈性內置響應
內容流控制破壞文檔流保持文檔流保持文檔流
瀏覽器兼容性全支持IE10+IE11+

總結?

? ? ?HTML浮動(Float)是CSS早期核心布局技術,通過float: left/right使元素脫離文檔流并向指定方向對齊,常用于實現圖文混排(如圖片文字環繞)或多欄布局。浮動元素會緊貼父容器或相鄰浮動元素邊緣,但脫離文檔流的特性會導致父容器高度塌陷(不包含浮動元素高度),需通過以下方式解決: ?

  1. 清除浮動:在父容器末尾添加clear: both的空元素; ?
  2. BFC觸發:為父容器設置overflow: hidden; ?

浮動布局需手動計算寬度且響應式適配困難,現代開發中更推薦FlexboxGrid布局替代,僅保留簡單場景(如文本環繞圖片)使用。

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

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

相關文章

【軟件測試學習day1】軟件測試概念

前言 本篇學習&#xff0c;測試相關基礎概念、常見的開發模型測和測試模型&#xff0c;搞懂4個問題&#xff1a; 什么是需求什么是 bug什么是測試用例開發模型和測試模型 目錄 1. 什么是需求 1.1 為什么要有需求 1.2 測試人員眼里的需求 1.3 如何深入了解需求 2. 測試用例…

Flutter常用組件實踐

Flutter常用組件實踐 1、MaterialApp 和 Center(組件居中)2、Scaffold3、Container(容器)4、BoxDecoration(裝飾器)5、Column(縱向布局)及Icon(圖標)6、Column/Row(橫向/橫向布局)+CloseButton/BackButton/IconButton(簡單按鈕)7、Expanded和Flexible8、Stack和Po…

劉火良FreeRTOS內核實現與應用學習之7——任務延時列表

在《劉火良FreeRTOS內核實現與應用學習之6——多優先級》的基礎上&#xff1a;關鍵是添加了全局變量&#xff1a;xNextTaskUnblockTime &#xff0c;與延時列表&#xff08;xDelayedTaskList1、xDelayedTaskList2&#xff09;來高效率的實現延時。 以前需要在掃描就緒列表中所…

圖像預處理-插值方法

一.插值方法 當我們對圖像進行縮放或旋轉等操作時&#xff0c;需要在新的像素位置上計算出對應的像素值。 而插值算法的作用就是根據已知的像素值來推測未知位置的像素值。 1.1 最近鄰插值 CV2.INTER_NEAREST 其為 warpAffine() 函數的參數 flags 的其一&#xff0c;表示最近…

智能配電保護:公共建筑安全的新 “防火墻”

安科瑞劉鴻鵬 摘要 隨著城市建筑體量的不斷增長和電氣設備的廣泛使用&#xff0c;現代建筑大樓的用電安全問題日益突出。傳統配電方式面臨監測盲區多、響應滯后、火災隱患難發現等問題。為提升建筑電氣系統的安全性和智能化水平&#xff0c;智慧用電系統應運而生。本文結合安…

如何解決DDoS攻擊問題 ?—專業解決方案深度分析

本文深入解析DDoS攻擊面臨的挑戰與解決策略&#xff0c;提供了一系列防御技術和實踐建議&#xff0c;幫助企業加強其網絡安全架構&#xff0c;有效防御DDoS攻擊。從攻擊的識別、防范措施到應急響應&#xff0c;為網絡安全工作者提供了詳細的操作指引。 DDoS攻擊概覽&#xff1a…

構建靈活的接口抽象層:支持多種后端數據存取的實戰指南

構建靈活的接口抽象層:支持多種后端數據存取的實戰指南 引言 在現代軟件開發中,數據存取成為業務邏輯的核心組成部分。然而,由于后端數據存儲方式的多樣性(如關系型數據庫、NoSQL數據庫和文件存儲),如何設計一套能夠適配多種后端數據存取的接口抽象層,成為技術團隊關注…

OpenCV 圖形API(23)圖像和通道合成

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 1.算法描述 在OpenCV的G-API模塊中&#xff0c;圖像和通道合成&#xff08;composition&#xff09;函數允許用戶對圖像進行復雜的操作&#xff0c;如合并…

帝國cms導航淘客新聞下載多功能網站源碼 二次元風格自適應附教程

一、本模板使用帝國cms7.5 utf8版本&#xff0c;二次元導航新聞下載工具淘客自適應響應式帝國cms模板。 1、網站后臺有3個系統模型&#xff0c;新聞系統模型&#xff0c;下載系統模型&#xff0c;導航系統模型&#xff0c;商城系統模型&#xff0c;可以根據自己的需求不同&…

本地部署大模型(ollama模式)

分享記錄一下本地部署大模型步驟。 大模型應用部署可以選擇 ollama 或者 LM Studio。本文介紹ollama本地部署 ollama官網為&#xff1a;https://ollama.com/ 進入官網&#xff0c;下載ollama。 ollama是一個模型管理工具和平臺&#xff0c;它提供了很多國內外常見的模型&…

C# virtual 和 abstract 詳解

簡介 在 C# 中&#xff0c;virtual 和 abstract 關鍵字都用于面向對象編程中的繼承和多態&#xff0c;它們主要用于方法、屬性和事件的定義&#xff0c;但在用法上存在一些重要的區別。 virtual 關鍵字 virtual 表示可重寫的方法&#xff0c;但可以提供默認實現&#xff0c;…

自動駕駛的數據集以及yolov8和yolop

項目背景 網絡全部是分割了沒有檢測。 自動駕駛的車道線和可行駛區域在數據集中的表示 自動駕駛系統中的車道線和可行駛區域的表示方式主要有以下幾種&#xff1a; 基于幾何模型&#xff1a;使用幾何模型來描述車道線和可行駛區域的形狀和位置&#xff0c;例如直線、曲線、多…

Oracle DROP、TRUNCATE 和 DELETE 原理

在 Oracle 11g 中&#xff0c;DROP、TRUNCATE 和 DELETE 是三種不同的數據清理操作&#xff0c;它們的底層原理和適用場景有顯著差異 1. DELETE 的原理 類型&#xff1a;DML&#xff08;數據操作語言&#xff09; 功能&#xff1a;逐行刪除表中符合條件的數據&#xff0c;保留…

PCIe 5.0光學SSD原型問世!

近日&#xff0c;Kioxia Corporation&#xff08;鎧俠&#xff09;、AIO Core Co., Ltd. 和 Kyocera Corporation&#xff08;京瓷&#xff09;聯合宣布成功開發了一款支持 PCIe 5.0 接口的光學 SSD 原型。該技術旨在通過光接口替換傳統的電接口&#xff0c;從而顯著增加計算設…

SQL 查詢中涉及的表及其作用說明

SQL 查詢中涉及的表及其作用說明&#xff1a; 涉及的數據庫表 表名別名/用途關聯關系dbo.s_orderSO&#xff08;主表&#xff09;存儲訂單主信息&#xff08;訂單號、日期、客戶等&#xff09;dbo.s_orderdetailSoD&#xff08;訂單明細&#xff09;通過 billid SO.billid 關…

C++學習之金融類安全傳輸平臺項目git

目錄 1.知識點概述 2.版本控制工具作用 3.git和SVN 4.git介紹 5.git安裝 6.工作區 暫存區 版本庫概念 7.本地文件添加到暫存區和提交到版本庫 8.文件的修改和還原 9.查看提交的歷史版本信息 10.版本差異比較 11.刪除文件 12.本地版本管理設置忽略目錄 13.遠程git倉…

【HCIP】GRE VPN實驗筆記

一、實驗拓撲 二、實驗要求 1、按照圖示配置IP地址 2、在R1和R3上配置默認路由使公網區域互通 3、在R1和R3上配置GRE VPN&#xff0c;使兩端私網能夠互相訪問&#xff0c;Tunnel口IP地址如圖 4、在R1和R3上配置RIPv2或者ospf或者靜態&#xff0c;來傳遞兩端私網路由 三、實…

大模型——Llama Stack快速入門 部署構建AI大模型指南

Llama Stack快速入門 部署構建AI大模型指南 介紹 Llama Stack 是一組標準化和有主見的接口,用于如何構建規范的工具鏈組件(微調、合成數據生成)和代理應用程序。我們希望這些接口能夠在整個生態系統中得到采用,這將有助于更輕松地實現互操作性。 Llama Stack 定義并標準化…

ALOPS智能化運維管理平臺

AIOps&#xff08;Artificial Intelligence for IT Operations&#xff09;即智能運維&#xff0c;是將人工智能技術應用于 IT 運維管理領域&#xff0c;以實現自動化、智能化的運維決策和管理。以下是關于 AIOps 的詳細介紹&#xff1a; 核心能力 數據收集與整合&#xff1a…

C語言超詳細指針知識(二)

在上一篇有關指針的博客中&#xff0c;我們介紹了指針的基礎知識&#xff0c;如&#xff1a;內存與地址&#xff0c;解引用操作符&#xff0c;野指針等&#xff0c;今天我們將更加深入的學習指針的其他知識。 1.指針的使用和傳址調用 1.1strlen的模擬實現 庫函數strlen的功能是…