Web入門——三欄布局頁面

前置知識

內外邊距

  1. 內邊距(padding): padding是元素邊框與其內容之間的空間。也就是說,如果你給一個元素設置了內邊距,這個空間會作為元素內容與元素邊框之間的緩沖區域。設置內邊距會使元素本身變大。例如padding:10px就創建了10像素的空間,使元素的內容與邊框之間有了10像素的距離。

  2. 外邊距(margin): margin則是元素與相鄰元素之間的空間。與內邊距不同,外邊距不會使元素本身變大,但會使元素與其周圍的其他元素有更大的距離。例如,margin:10px在元素與其旁邊元素之間創建了10像素的空間。

在CSS中,你可以控制元素的頂部、底部、左側和右側的內外邊距。例如:

.example {margin-top: 10px;     /* 設置外邊距 */margin-bottom: 20px;  margin-left: 30px;margin-right: 40px;padding-top: 50px;    /* 設置內邊距 */padding-bottom: 60px;padding-left: 70px;padding-right: 80px;
}

另外,要注意的一點是,水平方向的margin可以重疊,也就是說,兩個垂直相鄰元素之間的margin取的是兩者之間較大的一個,不是兩者的加和。對于垂直方向的padding則沒有這個特性。

浮動與定位

  1. 浮動(float)float屬性被用來讓一個元素沿著其容器的左或右邊緣,盡可能地向上浮動。同時,讓文本和內聯元素環繞它。是為了實現文字環繞圖片的效果而誕生的。

我們可以給一個元素設置float:left;float:right;來控制這個元素浮動的方向。要注意,浮動會使元素脫離文檔的普通流,所以可能會影響布局。
例如,在父元素中,如果所有的子元素都設為浮動,則父元素的高度就會變為0。可以通過設置父元素的overflow屬性或者清除浮動來解決這個問題。

  1. 定位(position)position屬性通過與topbottomleftright屬性配合使用,允許你精確地控制一個元素的位置。其常見的值有以下幾種:
  • static:元素在文檔流中的默認位置。

  • relative:元素的位置相對于其在文檔流中的位置。

  • absolute:元素的位置相對于最近的已定位父元素(一個父元素的position屬性不為static),如果元素沒有已定位的父元素,那么它的位置相對于最初的包含塊。

  • fixed:元素的位置相對于瀏覽器窗口是固定位置,即使窗口是滾動的它也不會移動。

對于定位元素,通過設置top, right, bottomleft四個屬性,可以決定這個元素距離定位參考點的距離。例如,top: 10px;表示元素距離上邊界(或者最近的一個定位祖先元素的上邊界)10像素遠。

z-index層疊等級屬性

z-index 是 CSS 屬性,用于指定一個元素在三維Z軸上的位置。這對于控制重疊的元素的視覺順序非常有用。
z-index 只有在元素被賦予了一個不是 static 的位置屬性(即,position 的值為 relative、absolute、fixed 或 sticky)時才生效。

數字可以是正、負或零。元素的 z-index 值越高,它就越在其它元素之上。如果兩個并列元素的 z-index 值相等,則根據它們在 HTML 中的順序來決定哪一個在上面;后來的元素會覆蓋先前的元素。

比如:

element1 {position: absolute;z-index: 1;  /* 此元素將位于其它元素之下 */
}element2 {position: absolute;z-index: 3;  /* 此元素將位于其他元素之上 */
}

在上述的例子中,element 2 會出現在 element 1 的上方,因為它的 z-index 值更大

不過,z-index 也有其復雜性,比如在使用嵌套元素時,z-index 只能影響其父級上下文中的層級。在有些情況下,高層級的元素會出現在低層級的項下,這種情況常常出現在有不同層疊上下文的元素交互時。所以在實際使用時需要注意這些細節。

三欄布局頁面

因為代碼中的.header、.main 和 .bottom 所在的位置都是 .one 的直接子元素,因此它們會默認垂直排布,因此就不需要加入position屬性。
在main區域中的三個區域也同理,只需要添加float來確認排列方向就好。
實現代碼:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>三欄布局</title><style>html body {margin: 0;padding: 0;background-color: antiquewhite;}.one {/* 設定總區域大小 */width: 600px;height: 400px;/* 定位 */position: absolute;margin: 20px 25%;background-color: rgba(0,0,0,0.4);}.one>* {margin: 0;padding: 0;}.header {/* 大小 */width: 100%;/* 設定邊框和背景顏色,美觀 */border: 0px solid #000;background-color: white;/* 文字居中 */text-align: center;line-height: 40px;}/* 編寫代碼使文字居中 */.main>* {text-align: center;line-height: 320px;}.main {width: 100%;height: 80%;float: left;}.left {height: 100%;width: 15%;background-color: rgba(0,0,0,0.5);float: left;}.middle {height: 100%;width: 70%;float: left;}.right {height: 100%;width: 15%;background-color: rgba(0,0,0,0.5);float: left;}.bottom {/* 添加這一行代碼,來消除main區域的浮動影響,不然bottom區域會被擠到下方 */clear: both;width: 100%;height: 10%;background-color: white;/* 文字居中 */text-align: center;line-height: 40px;}</style>
</head>
<body><div class="one"><div class="header"><span>頭部區域</span></div><div class="main"><div class="left"><span>左側邊欄</span></div><div class="middle"><span>內容區域</span></div><div class="right"><span>右側邊欄</span></div></div><div class="bottom"><span>底部區域</span></div></div>
</body>
</html>

實現效果:
在這里插入圖片描述

筆記:

  1. 基于父元素而定位,所以一般position都是absolute。
  2. 內外邊距都是基于父元素的寬度計算的,即margin-top:10%;計算的是寬度的10%而不是高度。

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

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

相關文章

Qt之QMqtt 發送圖片數據

簡述 MQTT(消息隊列遙測傳輸)是ISO標準下基于發布/訂閱范式的消息協議;它工作在TCP/IP協議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發布/訂閱型消息協議,為此,它需要一個消息中間件; MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議;MQT…

Ubuntu設置中午輸入法

本篇博客將指導您如何在Ubuntu系統中設置中文輸入法&#xff0c;讓您能夠輕松地進行中文輸入。 準備工作 在開始之前&#xff0c;請確保您的系統已經更新到最新版本。這可以通過以下命令來完成&#xff1a; sudo apt update && sudo apt upgrade這將幫助確保所有的軟…

Docker in Docker(DinD)原理與實戰

&#x1f407;明明跟你說過&#xff1a;個人主頁 &#x1f3c5;個人專欄&#xff1a;《Docker幻想曲&#xff1a;從零開始&#xff0c;征服容器宇宙》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目錄 一、引言 1、Docker簡介 2、Docker …

使用 AI Assistant for Observability 和組織的運行手冊增強 SRE 故障排除

作者&#xff1a;Almudena Sanz Oliv, Katrin Freihofner, Tom Grabowski 通過本指南&#xff0c;你的 SRE 團隊可以實現增強的警報修復和事件管理。 可觀測性 AI 助手可幫助用戶使用自然語言界面探索和分析可觀測性數據&#xff0c;利用自動函數調用來請求、分析和可視化數據…

Harmony 添加library依賴庫步驟

在Harmony添加library依賴庫步驟如下&#xff1a; 1、在library中定義名字 在library中的oh-package.json5中定義library對外的名字是什么&#xff1a;格式是 “name”:“ohos/名字” {"name": "ohos/library_name" //名字 }2、在項目目錄build-profi…

windows系統安裝Ubuntu子系統

安裝前先在 控制面板 中打開 程序與功能選項 &#xff0c;點擊 啟用或關閉Windows功能&#xff1a; 勾選 適用于 Linux的Windows子系統 和 虛擬機平臺 、 Hyper-v 。 重啟電腦后再 Microsoft Store Windows應用商店 中下載合適的Ubuntu版本。 運行Ubuntu程序&#xff0c;如出現…

【實戰】算法思路總結

面試過程中&#xff0c;總是被拷打&#xff0c;信心都要沒了。但是也慢慢摸索出一些思路&#xff0c;希望對大家有幫助。 &#xff08;需要多用一下ACM模式&#xff0c;力扣模式提供好了模板&#xff0c;自己在IDEA里面寫的話&#xff0c;還是會有些陌生&#xff09; 0、基本…

僵尸進程111

Linux 系統中的進程可能處于如下狀態中的一種&#xff1a; D 不可中斷的休眠 I 空閑 R 運行中 S 休眠 T 被調度信號終止 t 被調試器終止 Z 僵尸狀態 Interruptible Sleep&#xff0c;可中斷睡眠&#xff0c;在 ps 命令中顯示 S。處在這種睡眠狀態的進程是可以通過給它…

OC中Block為什么不能為nil

在 Objective-C 中&#xff0c;向 nil 對象發送消息是完全有效的&#xff0c;這是因為 Objective-C 運行時對 nil 消息發送進行了特別的處理。當你向 nil 對象發送消息時&#xff0c;消息會被靜默地忽略&#xff0c;不執行任何操作&#xff0c;也不會返回任何值&#xff08;或者…

Unity Editor 找物體助手

找啊找朋友~ &#x1f371;功能介紹&#x1f959;使用方法 &#x1f371;功能介紹 &#x1f4a1;輸入相關字符串&#xff0c;它會幫你找到名稱中帶有該字符串的所有物體&#xff0c;還會找包含該字符串的Text、TextMeshProUGUI。 &#x1f959;使用方法 &#x1f4a1;導入插…

小學拼音弄一下

import re from xpinyin import Pinyindef remove_middle_characters(text):# 僅保留漢字chinese_chars re.findall(r[\u4e00-\u9fff], text)cleaned_text .join(chinese_chars)# 如果字符數為偶數&#xff0c;則在中間添加空格if len(cleaned_text) % 2 0:middle_index le…

【北京迅為】《iTOP-3588從零搭建ubuntu環境手冊》-第5章 安裝SSH

RK3588是一款低功耗、高性能的處理器&#xff0c;適用于基于arm的PC和Edge計算設備、個人移動互聯網設備等數字多媒體應用&#xff0c;RK3588支持8K視頻編解碼&#xff0c;內置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800萬像素ISP&…

從0開始學python(七)

目錄 前言 1 break、continue和pass函數 1.1 break 1.2 continue 1.3 pass 2、序列的索引及切片操作 2.1字符串的索引和切片 2.1.1 字符串索引 2.1.2 字符串切片 總結 前言 上一篇文章我們介紹了python中的循環結構&#xff0c;包括for和while的使用。本章接著往下講。…

騰訊云服務器之ssh遠程連接登錄及轉發映射端口實現內網穿透(實現服務器訪問本地電腦端口)

目錄 一、創建密鑰綁定實例二、設置私鑰權限三、ssh遠程連接到服務器四、修改root密碼五、端口轉發&#xff08;實現服務器訪問本地電腦的端口&#xff09; 一、創建密鑰綁定實例 創建密鑰會自動下載一個私鑰&#xff0c;把這個私鑰復制到c盤 二、設置私鑰權限 1、刪除所有用戶…

免費剪輯的素材資源網站,超高清、可商用、不限速、無版權,迅速有效的解決您的視頻剪輯難題!

在數字媒體時代&#xff0c;高質量的剪輯素材已成為視頻制作的核心資源。下面為您推薦的優質視頻剪輯素材網站&#xff0c;都提供超高清、無限速、無版權、可商用的素材&#xff0c;這些網站將大大提升您的視頻制作效率和質量 01. 蛙學府 實用性&#xff1a;★★★★☆ 豐富性&…

您真的會高效使用 Mac 嗎?

文章目錄 屏幕的保養快捷鍵預覽修改文件名查看文件屬性搜索編輯復制&#xff0c;粘貼&#xff0c;剪切&#xff0c;撤銷刪除 跳轉窗口屏幕截圖聲音Dock強制退出查字典神奇的Option鍵鼠標與觸控板切換桌面與應用程序打開通知中心打開Mission Control 安裝與卸載Mac應用程序壓縮和…

記一些CISP-PTE題目解析

0x01 命令執行 直接payload: 127.0.0.1 & whoami&#xff0c;發現可以成功執行whoami命令 然后ls …/ &#xff0c;發現有個key.php文件 嘗試用cat命令查看 發現不行被攔截了。&#xff08;其實題目過濾了常用的查看文件的命令 &#xff09; 這里有兩種思路&#xff0c;第…

關于一致性,你該知道的事兒(下)

關于一致性&#xff0c;你該知道的事兒&#xff08;下&#xff09; 前言一、并發修改單個對象1.1 原子寫操作1.2 顯示加鎖1.3 原子的TestAndSet1.4 版本號機制 二、 多個相關對象的一致性2.1 最大努力實現2.2 2PC && TCCC2.3.基于可靠消息的一致性方案2.4.Saga事務 三、…

HNCTF-PWN

1.ez_pwn 直接看危險函數&#xff0c;不能溢出&#xff0c;只能覆蓋ebp。 后面緊接的又是leave,ret 很明顯是棧遷移&#xff0c;通過printf打印出ebp&#xff0c;通過偏移計算出棧地址。 通過gdb調試&#xff0c;偏移是0x38 以下是payload&#xff1a; from pwn import * #i…

python常用內置對象

1.字符串與字節串 對str 類型調用其encode()方法進行編碼得到byte字符串&#xff0c; 對byte字節串調用其encode&#xff08;&#xff09;方法并指定正確的編碼格式得到str字符串 “房地產”&#xff0c;encode("utf-8") #對中文進行編碼-.decode("u…