CSS經典布局之圣杯布局和雙飛翼布局

目標:

中間自適應,兩邊定寬,并且三欄布局在一行展示。

圣杯布局

實現方法:

通過float搭建布局+margin使三列布局到一行上+relative相對定位調整位置;

給外部容器添加padding,通過相對定位調整左右兩列的位置。

<div id="header">#header</div><div id="container"><div id="center" class="column">#center</div><div id="left" class="column">#left</div><div id="right" class="column">#right</div></div>
<div id="footer">#footer</div>
#header, #footer {background: rgba(29, 27, 27, 0.726);text-align: center;height: 60px;line-height: 60px;clear: both;
}
#container{padding: 0 200px;overflow: hidden;/*形成BFC撐開文檔*/
}
.column{height: 200px;float: left;position: relative;
}
#center{width: 100%;background-color: tomato;
}
#left{width: 200px;margin-left: -100%; /* 把left移動到和center同一行并且左邊對齊 */left: -200px; /* 再向左移動到main的padding區域,就不會擋住center了 */background-color: aqua;
}
#right{width: 200px;margin-left: -200px; /* 把right移動到和center同一行并且右邊對齊 */right: -200px; /* 向右移動到右邊的padding區域*/background-color: wheat;
}

圣杯布局效果

雙飛翼布局

實現方法:

通過float+margin,不使用相對定位;

在中間層外面套一層div,加上margin將 center內容 擠到中間

<div id="header">#header</div><div id="container"><div id="center" class="column"><div id="center-content">#center</div></div><div id="left" class="column">#left</div><div id="right" class="column">#right</div>
</div><div id="footer">#footer</div>
#header, #footer {background: rgba(29, 27, 27, 0.726);text-align: center;height: 60px;line-height: 60px;clear: both;
}
.column{height: 200px;float: left;
}
#center{width: 100%;background-color: tomato;
}
#center-content{margin: 0 200px;
}
#left{width: 200px;margin-left: -100%; /* 作用和圣杯一樣 */background-color: aqua;}
#right {width: 200px;margin-left: -200px; /* 作用和圣杯一樣 */background-color: wheat;
}

雙飛翼布局

兩者本質區別

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

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

相關文章

# 實時英文 OCR 文字識別:從攝像頭到 PyQt5 界面的實現

實時英文 OCR 文字識別&#xff1a;從攝像頭到 PyQt5 界面的實現 引言 在數字化時代&#xff0c;文字識別技術&#xff08;OCR&#xff09;在眾多領域中發揮著重要作用。無論是文檔掃描、車牌識別還是實時視頻流中的文字提取&#xff0c;OCR 技術都能提供高效且準確的解決方案…

<C#>log4net 的配置文件配置項詳細介紹

log4net 是一個功能強大的日志記錄工具&#xff0c;通過配置文件可以靈活地控制日志的輸出方式、格式、級別等。以下是對 log4net 配置文件常見配置項的詳細介紹&#xff1a; 根元素 <log4net> 這是 log4net 配置文件的根元素&#xff0c;所有配置項都要包含在該元素內…

編譯docker版openresty

使用alpine為基礎鏡像 # 使用Alpine作為基礎鏡像 FROM alpine:3.18# 替換為阿里云鏡像源&#xff0c;并安裝必要的依賴 RUN sed -i s|https://dl-cdn.alpinelinux.org/alpine|https://mirrors.aliyun.com/alpine|g /etc/apk/repositories && \apk add --no-cache \bui…

conda 輸出指定python環境的庫 輸出為 yaml文件

conda 輸出指定python環境的庫 輸出為 yaml文件。 有時為了項目部署&#xff0c;需要匹配之前的python環境&#xff0c;需要輸出對應的python依賴庫。 假設你的目標環境名為 myenv&#xff0c;運行以下命令&#xff1a; conda env export -n myenv > myenv_environment.ym…

[Java][Leetcode middle] 121. 買賣股票的最佳時機

暴力循環 總是以最低的價格買入&#xff0c;以最高的價格賣出: 例如第一天買入&#xff0c;去找剩下n-1天的最高價格&#xff0c;計算利潤 依次計算到n-1天買入&#xff1b; 比較上述利潤 // 運行時間超時。 o(n^2)public int maxProfit1(int[] prices) {int profit 0;for (i…

克隆虛擬機組成集群

一、克隆虛擬機 1. 準備基礎虛擬機 確保基礎虛擬機已安裝好操作系統&#xff08;如 Ubuntu&#xff09;、Java 和 Hadoop。關閉防火墻并禁用 SELinux&#xff08;如適用&#xff09;&#xff1a; bash sudo ufw disable # Ubuntu sudo systemctl disable firewalld # CentO…

記錄一次使用thinkphp使用PhpSpreadsheet擴展導出數據,解決身份證號碼等信息科學計數法問題處理

PhpSpreadsheet官網 PhpSpreadsheet安裝 composer require phpoffice/phpspreadsheet使用composer安裝時一定要下載php對應的版本&#xff0c;下載之前使用php -v檢查當前php版本 簡單使用 <?php require vendor/autoload.php;use PhpOffice\PhpSpreadsheet\Spreadshee…

前端工程化:從 Webpack 到 Vite

引言 前端工程化是現代Web開發不可或缺的一部分&#xff0c;它通過自動化流程和標準化實踐&#xff0c;提高了開發效率和代碼質量。在這個領域中&#xff0c;構建工具扮演著核心角色&#xff0c;而Webpack和Vite則是其中的兩位重要角色。本文將探討前端工程化的演進歷程&#…

Leetcode 3543. Maximum Weighted K-Edge Path

Leetcode 3543. Maximum Weighted K-Edge Path 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3543. Maximum Weighted K-Edge Path 1. 解題思路 這一題思路上就是一個遍歷的思路&#xff0c;我們只需要考察每一個節點作為起點時&#xff0c;所有長為 k k k的線段的長度&…

香橙派zero3 安卓TV12,更換桌面launcher,開機自啟動kodi

打開開發者模式&#xff0c;連擊版本號&#xff0c;基本上都是這樣。 adb連接 查找桌面包名 adb shell dumpsys activity activities | findstr mResumedActivity 禁用原桌面com.android.tv.launcher&#xff0c;已經安裝了projectivylauncher434.apk桌面。 adb shell pm …

半小時快速入門Spring AI:使用騰訊云編程助手CodeBuddy 開發簡易聊天程序

引言 隨著人工智能&#xff08;AI&#xff09;技術的飛速發展&#xff0c;越來越多的開發者開始探索如何將AI集成到自己的應用中。人工智能正在迅速改變各行各業的工作方式&#xff0c;從自動化客服到智能推薦系統&#xff0c;AI的應用幾乎無處不在。Spring AI作為一種開源框架…

【unity游戲開發——編輯器擴展】使用MenuItem自定義菜單欄拓展

免職聲明&#xff1a; 1、目前本博客分享的大部分知識產出方式是&#xff1a;學習別人知識自己實際做一遍自己的理解擴展內容自己整理、歸納、總結再分享。2、正如博客簡介所說&#xff1a;這里沒有教程&#xff0c;這里只做學習分享。所有的內容都是學習筆記&#xff0c;可以說…

數學復習筆記 7

前言 現在復習線代基礎&#xff0c;慢慢打基礎。。 轉置 方陣轉置之后行列式保持不變。我的筆記感覺主要不是整理知識點&#xff0c;主要是把我的一些理解記錄下來。這才是我自己的東西&#xff0c;那些需要記住的知識和內容記住就好了。記住轉置有四個性質&#xff0c;在講…

AIGC時代的內容安全:AI檢測技術如何應對新型風險挑戰?

在數字時代&#xff0c;互聯網內容以文本、圖像、音頻和視頻等形式呈現爆發式增長&#xff0c;深刻塑造了信息傳播的格局。然而&#xff0c;內容的快速傳播也帶來了嚴峻挑戰&#xff1a;違法信息&#xff08;如涉黃、涉政&#xff09;、虛假廣告、網絡暴力等內容不僅威脅用戶體…

PyTorch中的nn.Embedding應用詳解

PyTorch 文章目錄 PyTorch前言一、nn.Embedding的基本原理二、nn.Embedding的實際應用簡單的例子自然語言處理任務 前言 在深度學習中&#xff0c;詞嵌入&#xff08;Word Embedding&#xff09;是一種常見的技術&#xff0c;用于將離散的詞匯或符號映射到連續的向量空間。這種…

AI 檢測原創論文:技術迷思與教育本質的悖論思考

當高校將 AI 寫作檢測工具作為學術誠信的 "電子判官"&#xff0c;一場由技術理性引發的教育異化正在悄然上演。GPT-4 檢測工具將人類創作的論文誤判為 AI 生成的概率高達 23%&#xff08;斯坦福大學 2024 年研究數據&#xff09;&#xff0c;這種 "以 AI 制 AI&…

langchain4j集成QWen、Redis聊天記憶持久化

langchain4j實現聊天記憶默認是基于進程內存的方式&#xff0c;InMemoryChatMemoryStore是具體的實現了&#xff0c;是將聊天記錄到一個map中&#xff0c;如果用戶大的話&#xff0c;會造成內存溢出以及數據安全問題。位了解決這個問題 langchain4提供了ChatMemoryStore接口&am…

Tomcat 日志體系深度解析:從訪問日志配置到錯誤日志分析的全鏈路指南

一、Tomcat 核心日志文件架構與核心功能 1. 三大基礎日志文件對比&#xff08;權威定義&#xff09; 日志文件數據來源核心功能典型場景catalina.out標準輸出 / 錯誤重定向包含 Tomcat 引擎日志與應用控制臺輸出&#xff08;System.out/System.err&#xff09;排查 Tomcat 啟…

萬物互聯時代:ONVIF協議如何重構安防監控系統架構

前言 一、ONVIF協議是什么 ONVIF&#xff08;Open Network Video Interface Forum&#xff0c;開放式網絡視頻接口論壇&#xff09;是一種全球性的開放行業標準&#xff0c;由安訊士&#xff08;AXIS&#xff09;、博世&#xff08;BOSCH&#xff09;和索尼&#xff08;SONY&…

leetcode - 雙指針問題

文章目錄 前言 題1 移動零&#xff1a; 思路&#xff1a; 參考代碼&#xff1a; 題2 復寫零&#xff1a; 思考&#xff1a; 參考代碼&#xff1a; 題3 快樂數&#xff1a; 思考&#xff1a; 參考代碼&#xff1a; 題4 盛最多水的容器&#xff1a; 思考&#xff1a;…