前端快速入門學習4——CSS盒子模型、浮動、定位

一、盒子模型

所有HTML元素可以看作盒子,在CSS中,"box model"這一術語是用來設計和布局時使用。

CSS盒模型本質上是一個盒子,封裝周圍的HTML元素,它包括:邊距,邊框,填充,和實際內容。

盒模型允許我們在其它元素和周圍元素邊框之間的空間放置元素。
在這里插入圖片描述
不同部分的說明:
Margin(外邊距) - 清除邊框外的區域,外邊距是透明的。
Border(邊框) - 圍繞在內邊距和內容外的邊框。
Padding(內邊距) - 清除內容周圍的區域,內邊距是透明的。
Content(內容) - 盒子的內容,顯示文本和圖像。

div {width: 300px;border: 25px solid green;padding: 25px;margin: 25px;
}

最終元素的總寬度計算公式是這樣的:
總元素的寬度=寬度+左填充+右填充+左邊框+右邊框+左邊距+右邊距

元素的總高度最終計算公式是這樣的:
總元素的高度=高度+頂部填充+底部填充+上邊框+下邊框+上邊距+下邊距
300px (寬)+ 50px (左 + 右填充)+ 50px (左 + 右邊框)+ 50px (左 + 右邊距)= 450px

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.inline-block{display: block;padding: 15px;margin: 50px;border: 20px solid rgb(255, 0, 81);}</style>
</head>
<body><span>這是行內塊元素演示</span><img class="inline-block" src="example.jpg" alt="示例圖片" width="200" height="200">    
</body>
</html>

在這里插入圖片描述

二、浮動

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
例子:

<head><style>body {width: 90%;max-width: 900px;margin: 0 auto;font:0.9em/1.2 Arial,Helvetica,sans-serif;}.box {width: 150px;height: 100px;border-radius: 5px;background-color: rgb(207, 232, 220);padding: 1em;}</style>
</head>
<body><h1>Simple float example</h1><div class="box">Float</div><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus aliquamdolor, eu lacinia lorem placerat vulputate. </p><p>Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit ametorci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornareex malesuada et. In vitae convallis lacus. </p><p>Nam vulputate diam nec tempor bibendum. Donec luctus augue eget malesuadaultrices. Phasellus turpis est, posuere sit amet dapibus ut, facilisis sedest. Nam id risus quis ante semper consectetur eget aliquam lorem. </p>        
</body>

在這里插入圖片描述
使盒子浮動起來:

.box {float: left;margin-right: 15px;width: 150px;height: 100px;border-radius: 5px;background-color: rgb(207, 232, 220);padding: 1em;
}

在這里插入圖片描述
清除浮動

.cleared {clear: left;
}
    <style>body {width: 90%;max-width: 900px;margin: 0 auto;font:0.9em/1.2 Arial,Helvetica,sans-serif;}.box {float: left;margin-right: 15px;width: 150px;height: 100px;border-radius: 5px;background-color: rgb(207, 232, 220);padding: 1em;}        .special {background-color: rgb(79, 185, 227);padding: 10px;color: #fff;}.cleared {clear: left;}</style>
</head>
<body><h1>Simple float example</h1><div class="box">Float</div><p class="special">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus aliquamdolor, eu lacinia lorem placerat vulputate. Sed auctor cursus massa at porta.</p><p class="cleared">Sed auctor cursus massa at porta. Integer ligula ipsum, tristique sit ametorci vel, viverra egestas ligula. Curabitur vehicula tellus neque, ac ornareex malesuada et. In vitae convallis lacus. </p><p>Nam vulputate diam nec tempor bibendum. Donec luctus augue eget malesuadaultrices. Phasellus turpis est, posuere sit amet dapibus ut, facilisis sedest. Nam id risus quis ante semper consectetur eget aliquam lorem. </p>        
</body>

在這里插入圖片描述

三、定位

在這里插入圖片描述
1.相對定位

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1{height: 350px;background-color: aqua;            }.box-normal{width: 100px;height: 100px;background-color: red;margin: 10px;}.box-relative{width: 100px;height: 100px;background-color: blue;margin: 10px;position: relative; /* 相對定位 */top: 20px; /* 向下移動20px */left: 20px; /* 向右移動20px *//* 這兩個屬性可以讓元素相對于它原來的位置進行移動,而不是相對于父元素或視口。 *//* 這意味著它仍然占據原來的空間。 *//* 這就是相對定位的特點。 *//* 你可以通過調整top、left、right和bottom屬性來控制元素的位置。 *//* 你也可以使用負值來向上或向左移動元素。 *//* 這會讓元素看起來像是從原來的位置移動了,但是它仍然占據原來的空間。 */}</style>  
</head>
<body><h1>相對定位</h1><div class="box1"><div class="box-normal"></div><div class="box-relative"></div><div class="box-normal"></div></div>      
</body>

在這里插入圖片描述
2.絕對定位

  <style>.box2{height: 350px;background-color: rgb(251, 255, 0);   margin-bottom: 300px;         }.box-absolute{width: 100px;height: 100px;background-color: green;margin: 10px;position: absolute; /* 絕對定位 *//*top: 20px; /* 向下移動20px */left: 20px; /* 向右移動20px *//* 這兩個屬性可以讓元素相對于它的最近的定位祖先元素進行移動。 *//* 如果沒有定位祖先元素,它就相對于視口進行移動。 *//* 這意味著它不再占據原來的空間。 *//* 這就是絕對定位的特點。 *//* 你可以通過調整top、left、right和bottom屬性來控制元素的位置。 */}</style><body><h1>絕對定位</h1><div class="box2"><div class="box-normal"></div><div class="box-absolute"></div><div class="box-normal"></div></div>
</body>

在這里插入圖片描述

相對定位和絕對定位的區別

相對定位是相對于元素原來的位置進行移動,而絕對定位是相對于最近的定位祖先元素進行移動。

相對定位仍然占據原來的空間,而絕對定位不再占據原來的空間。

相對定位可以使用top、left、right和bottom屬性來控制元素的位置,而絕對定位也可以使用這些屬性來控制元素的位置。

相對定位可以使用負值來向上或向左移動元素,而絕對定位也可以使用負值來向上或向左移動元素。

相對定位可以讓元素在文檔流中保持原來的位置,而絕對定位會讓元素脫離文檔流。

3.固定定位

<style>
.box-fixed{width: 100px;height: 100px;background-color: purple;position: fixed; /* 固定定位 */top: 1000px; /* 距離視口頂部0px */right: 15px; /* 距離視口左側0px *//* 這兩個屬性可以讓元素相對于視口進行移動。 *//* 這意味著它會固定在視口的某個位置,而不是相對于父元素或最近的定位祖先元素。 *//* 這就是固定定位的特點。 *//* 你可以通過調整top、left、right和bottom屬性來控制元素的位置。 */      /* 你也可以使用負值來向上或向左移動元素。 */}
</style>
<body><h1>固定定位</h1><div class="box-fixed"></div>
</body>

在這里插入圖片描述

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

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

相關文章

瑞數信息發布《BOTS自動化威脅報告》,揭示AI時代網絡安全新挑戰

近日&#xff0c;瑞數信息正式發布《BOTS自動化威脅報告》&#xff0c;力求通過全景式觀察和安全威脅的深度分析&#xff0c;為企業在AI時代下抵御自動化攻擊提供安全防護策略&#xff0c;從而降低網絡安全事件帶來的影響&#xff0c;進一步增強業務韌性和可持續性。 威脅一&am…

Docker設置代理

目錄 前言創建代理文件重載守護進程并重啟Docker檢查代理驗證 前言 拉取flowable/flowable-ui失敗&#xff0c;用DaoCloud源也沒拉下來&#xff0c;不知道是不是沒同步。索性想用代理拉鏡像。在此記錄一下。 創建代理文件 創建docker代理配置 sudo mkdir -p /etc/systemd/s…

Debezium嵌入式連接postgresql封裝服務

文章目錄 1.項目結構&#xff1a;2.依賴&#xff1a;3.application.properties4.DebeziumConnectorConfig類5.TableEnum類6.TableHandler接口&#xff08;表處理抽象&#xff09;7.DefaultTableHandler默認實現類8.UserTableHandler處理類9.TableHandlerFactory工廠10.Debezium…

ER-圖,詳情和畫法

一、E-R圖的核心元素 1.實體 表示現實中對象或概念&#xff0c;用矩形表示 示例&#xff1a;用戶、老師、學生 2.屬性 描述實體的特征&#xff0c;用橢圓表示。 分為主鍵&#xff08;用戶id&#xff09; 和非主鍵&#xff08;用戶昵稱&#xff09; 3.關系 表示實體間的…

Windows Flip PDF Plus Corporate PDF翻頁工具

軟件介紹 Flip PDF Plus Corporate是一款功能強大的PDF翻頁工具&#xff0c;也被稱為名編輯電子雜志大師。這款軟件能夠迅速將PDF文件轉換為具有翻頁動畫效果的電子書&#xff0c;同時保留原始的超鏈接和書簽。無論是相冊、視頻、音頻&#xff0c;還是Flash、視頻和鏈接&#…

Linux文件系統中的Page Cache和內存管理中的Page之間的關系

Linux文件系統中的Page Cache和內存管理中的Page之間有密切的關聯&#xff0c;兩者在底層機制上緊密結合&#xff0c;共同實現高效的內存和文件系統管理。以下是它們的關系和關鍵點&#xff1a; 核心關系 Page Cache的底層是內存Page Page Cache是由內存管理中的物理內存頁&…

每日一個小病毒(C++)EnumChildWindows+shellcode

這里寫目錄標題 1. `EnumChildWindows` 的基本用法2. 如何利用 `EnumChildWindows` 執行 Shellcode?關鍵點:完整 Shellcode 執行示例3. 為什么 `EnumChildWindows` 能執行 Shellcode?4. 防御方法5. 總結EnumChildWindows 是 Windows API 中的一個函數,通常用于枚舉所有子窗…

AI爬蟲?爬!

1.你是否還在為大模型的key而感到憂傷和囊中羞澀&#xff0c;openrouter.ai&#xff0c;目前可免費白嫖多個大模型&#xff0c;代碼如下 from openai import OpenAIclient OpenAI(base_url"https://openrouter.ai/api/v1",api_key"", )completion clien…

洛谷題單3-P5720 【深基4.例4】一尺之棰-python-流程圖重構

題目描述 《莊子》中說到&#xff0c;“一尺之棰&#xff0c;日取其半&#xff0c;萬世不竭”。第一天有一根長度為 a a a 的木棍&#xff0c;從第二天開始&#xff0c;每天都要將這根木棍鋸掉一半&#xff08;每次除 2 2 2&#xff0c;向下取整&#xff09;。第幾天的時候木…

c++中的auto關鍵字

在 C 中&#xff0c;auto 是一個類型推斷關鍵字&#xff08;C11 引入&#xff09;&#xff0c;允許編譯器根據變量的初始化表達式自動推導其類型。它極大地簡化了代碼編寫&#xff0c;尤其在涉及復雜類型或模板的場景中。以下是 auto 的詳細說明&#xff1a; 1. 基本用法 1.1 …

開發指南111-關閉所有打開的子窗口

門戶系統是通過window.open通過單點登錄的模式打開子系統的&#xff0c;這就要求門戶系統退出時&#xff0c;關閉所有打開的子系統。 平臺處理這一問題的核心原理如下&#xff1a; 主窗口定義&#xff1a; allChildWindows:[], //所有子窗口 pushChildWindow(childWindow){ …

Kotlin語言進階:協程、Flow、Channel詳解(二)

Kotlin語言進階:協程、Flow、Channel詳解(二) 一、Flow基礎 1.1 什么是Flow Flow是Kotlin提供的用于處理異步數據流的解決方案,它建立在協程之上,具有以下特點: 冷流特性:只有在收集時才會開始發射數據背壓處理:自動處理生產者和消費者速度不匹配的問題組合操作:提…

mysql中my.cnf權限不能過大。否則無法生效

mysql 報錯 World-writable config file ‘/etc/my.cnf‘ is ignored. /etc/my.cnf 配置文件, 或著docker 掛載的配置文件(宿主機中的配置文件),權限過大 如是二進制啟動 chmod 644 /etc/my.cnf 如是docker啟動 chmod 644 /opt/docker-data/mysql/conf/my.cnf 重啟服務,就可…

Spring 中的 @Autowired 和 @Resource

&#x1f9e9; 一、Autowired 和 Resource 的基本作用 注解來源作用AutowiredSpring 提供&#xff08;org.springframework.beans.factory.annotation.Autowired&#xff09;按類型 自動注入ResourceJDK 提供&#xff08;javax.annotation.Resource&#xff09;默認按名稱 注入…

anomalib—2—輸入圖像大小調整

三個地方 第一&#xff1a;在定義model時&#xff0c;要在pre_processor里面去定義一個前處理&#xff0c;前處理就一個功能&#xff0c;定義圖像的大小 pre_processor0 Patchcore.configure_pre_processor( image_size (128, 128)) model Patchcore( backbone"wide_r…

JSX、支持HTML標簽、Ref的使用、虛擬DOM的使用

&#x1f90d; 前端開發工程師、技術日更博主、已過CET6 &#x1f368; 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 &#x1f560; 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 &#x1f35a; 藍橋云課簽約作者、…

JVM 學習計劃表(2025 版)

JVM 學習計劃表&#xff08;2025 版&#xff09; &#x1f4da; 基礎階段&#xff08;2 周&#xff09; 1. JVM 核心概念 ?JVM 作用與體系結構 理解 JVM 在 Java 跨平臺運行中的核心作用&#xff0c;掌握類加載子系統、運行時數據區、執行引擎的交互流程?內存結構與數據存…

進程內存分布--之理論知識

一個由C/C編譯的程序占用的內存分為以下幾個部分 &#xff1a; 1、棧區&#xff08;stack&#xff09;&#xff1a;由編譯器自動分配釋放 &#xff0c;存放函數調用函數的參數值&#xff0c;局部變量的值等。其操作方式類似于數據結構中的棧。 2、堆區&#xff08;heap&#xf…

WEB安全--內網滲透--LMNTLM基礎

一、前言 LM Hash和NTLM Hash是Windows系統中的兩種加密算法&#xff0c;不過LM Hash加密算法存在缺陷&#xff0c;在Windows Vista 和 Windows Server 2008開始&#xff0c;默認情況下只存儲NTLM Hash&#xff0c;LM Hash將不再存在。所以我們會著重分析NTLM Hash。 在我們內…

時尚優雅奢華品牌包裝徽標設計襯線英文字體安裝包 Kagea – Luxury Women Ligature Font

Kagea 是一種復雜的襯線字體&#xff0c;有常規和壓縮兩種樣式&#xff0c;具有 50 連字和替代字體&#xff0c;并支持多種語言。其精致的比例和別致的字體使其成為高端品牌、編輯布局、高檔包裝、時尚品牌和奢侈品設計的理想選擇。 包含內容&#xff1a; TTF、OTF 和 WOFF 格…