css三欄布局技巧,CSS-三欄布局的常用6種方法

三欄布局一般指左右兩欄固定寬度,中間一欄自適應的布局方法,也是許多網站常用的布局方式。如下圖:

aead24b2620b

該示例在一個html文件中編寫,為方便起見,預先寫好一個通用的css,左右寬度都為100px;

aead24b2620b

1.浮動三欄

aead24b2620b

左右兩欄均為float,中間一欄寬度自適應,這里為了中間一欄的安全輸入空間,要為中間一欄加上左右margin。因為block元素自帶換行效果,所以main要放在左右元素的后面,而dom元素是按順序加載的,因此main不能在左右兩欄之間完成加載。

2.利用BFC

利用BFC不與float元素疊加的特點,讓中間一欄通過設置overflow屬性擁有BFC特性,實現了這個三欄布局。

aead24b2620b

該布局同樣不能讓main在左右兩欄之前加載。

后面介紹的四種三欄布局可以讓main在左右兩欄之前加載。

3.absolute實現三欄布局

使用absolute定位,只需將左右兩欄絕對定位到窗口兩邊,為main添加左右margin創建安全輸入區域即可。因為absolute是以第一個定位不是static的父元素定位的,為這個整體添加一個定位不是static的父元素,絕對定位不會與header,footer等重疊。并且main的dom位置在left和right的前面,可在左右兩欄之前完成加載

aead24b2620b

4.flex

flex為一種彈性布局方式,flex-direction默認為row,即按行排列;order可以指定在元素在一個flex盒子之中的排列順序;將main放在left和right前面,并為其設置order至left和right的中間,可以讓main優先加載,并且位置不變;flex-grow屬性為元素相對放大比率,默認為0,即不放大,設置為1時會自動擴展。

aead24b2620b

5.圣杯布局

首先,建立main,left,right之間的dom結構,將main的width設為100%,main,left和right均為向左浮動,此時的界面如圖:

然后利用負margin對元素碰撞的改變,讓下面的兩個元素上去。對left,要到最左邊,margin-left設為-100%,right要到右邊,margin-left設為負的自身寬度,現在界面如圖

aead24b2620b

aead24b2620b

到這里的步驟都與下面的雙飛翼布局一致。

雖然left和right都到了main兩邊,但main還沒有安全輸入區間,比如圣杯兩字被left蓋住了。

為這個整體的父元素box加padding,并用relative將left,right移至對應的位置。

aead24b2620b

即完成了圣杯布局,可完成main在left,right之前加載。

aead24b2620b

6.雙飛翼布局

雙飛翼的步驟基本同圣杯布局,不過在main里面嵌套了一個塊級元素,為那個塊級元素設置margin,在這個塊級元素之中輸入的內容不會被覆蓋,并在left,right之前載入

aead24b2620b

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

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

相關文章

關閉服務器系統關機事件,Windows Server 2012 系統提示意外關閉,事件ID:6008

日志名稱: System來源: EventLog日期: 2020/7/20 11:10:18事件 ID: 6008任務類別: 無級別: 錯誤關鍵字: 經典用戶: 暫缺計算機: WIN-GVIJQ6J6IH5描述:上一次系統的 11:06:28 在 ?…

lol新服務器怎么發信息,《英雄聯盟手游》國服新消息 最新玩法發布

大家期待已久的《英雄聯盟手游》終于有新消息了,此次發布的消息主要是介紹《英雄聯盟手游》的玩法,國服具體發布時間并沒有公布。那么接下來看看此次發布的具體內容吧。關注白森森,永遠不迷路!一、英雄類型英雄聯盟手游的英雄類型分類與端游一…

jdk、jre及jvm的關系

很多程序員已經干了一段時間java了依然不明白jdk與jre的區別。 JDK就是Java Development Kit.簡單的說JDK是面向開發人員使用的SDK,它提供了Java的開發環境和運行環境。SDK是Software Development Kit 一般指軟件開發包,可以包括函數庫、編譯程序等。 …

我的理解之JAVA中的4種訪問權限

一、Java中有四種訪問權限,private、default(一般省略)、public、protected。 private: Java語言中對訪問權限限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的屬性以及方法只能被該類的對象訪問,其子類不能訪問&…

ssh連接阿里云服務器遇到的坑

1. 出現‘Host key verification failed.’ 解決方案在這里找到: https://askubuntu.com/questions/45679/ssh-connection-problem-with-host-key-verification-failed-error 2. 自動斷開—每隔一兩分鐘就自動斷開 參考: https://superuser.com/quest…

云服務器文件傳輸問題

最近再做一個web項目,目前決定先把應用放在云服務器上。我選擇的云主機是aliyun的Ubuntu 16.04主機。部署好云主機環境后,就需要把我在本地開發好的程序上傳到云主機了。剛開始打算用ftp協議來傳輸,于是參照網上的教程(Ubuntu 16.…

Naive Bayes Classifier - 樸素貝葉斯分類器

Naive Bayes Classifier - 樸素貝葉斯分類器 簡介 在機器學習中,樸素貝葉斯分類器是一系列基于“貝葉斯原理”和“特征之間獨立分布假設”的概率分類器的總稱。把它的名稱分成兩部分來看,一部分是“貝葉斯”對應的是“貝葉斯原理”;另一部分…

Hello,My first blog!

這是我的第一個博客,之所以想開始寫博客主要有幾個原因: 1)剛剛畢業,想記錄自己在技術方面的成長; 2)不斷學習,不斷思考,活到老,學到老; 3)希望…

如何在Oracle官網上下載歷史版本的JDK

點擊下面鏈接: http://java.sun.com/products/archive/ 選擇對應的版本,然后它需要你注冊一個Oracle賬號,注冊一個然后登陸就行了

PL/SQL Developer調試Oracle存儲過程

1,選中存儲過程,右鍵,點擊Edit,會打開一個窗口,提示錯誤信息2,添加debug information3,開始調試4,點擊調試窗口上面的按鈕進行調試

Oracle復雜查詢

1、 列出至少有一個員工的所有部門編號、名稱,并統計出這些部門的平均工資、最低工資、最高工資。 1、確定所需要的數據表: dept表:部門名稱;emp表:統計信息; 2、確定已知的關聯字段: emp.de…

TCP三次握手和四次揮手以及11種狀態

TCP三次握手和四次揮手以及11種狀態 1、三次握手 置位概念:根據TCP的包頭字段,存在3個重要的標識ACK、SYN、FIN ACK:表示驗證字段 SYN:位數置1,表示建立TCP連接 FIN:位數置1,表示斷開TCP連…

計算機網絡體系結構——各層的功能

OSI七層架構 物理層主要功能:實現比特流的透明傳輸。基本單位:比特。 數據鏈路層主要功能 :封裝成幀 。把幀從原MAC傳到目的MAC(相鄰節點之間幀的透明傳輸) 差錯檢測 循環冗余檢測法。只檢測有沒有比特錯誤&#xf…

HTTP報文分析

一、HTTP請求報文解剖 HTTP請求報文由3部分組成(請求行請求頭請求體): 下面我們基于socket編寫一個簡單的HTTP server import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.Inp…

SSM框架整合一(springmvc+spring+mybatis+maven+tomcat)

一,環境說明 jdk1.7.0_07(cmd命令行輸入java -version查看),點擊下載 eclipse Kepler Service Release 2 apache-maven-3.3.9(cmd命令行輸入mvn -v查看),點擊下載 apache-tomcat-7.0.52,點擊下載 mysql-5.5.28-winx64&#xff0c…

如何在windows機器上安裝apache ab

為什么要使用apache ab,apache ab的是用來干嘛的,apache ab的命令? 如果您是來找上面這些問題的答案,那么請立刻關掉當前頁面,因為這篇文章是純粹的安裝教程,避免浪費時間。 一,安裝環境 win…

apache log4j入門

學習一項新東西之前,我常常問自己: 這項技術是什么? 這項技術為我們做了什么? 為什么不用其他類似的技術? 如何使用這項技術? 于是我帶著這些問題開始學習apache log4j 一,apache log4j是…

低版本Eclipse如何快速設置黑色主題

低版本的Eclipse(例如Kepler Service Release 2),沒有自帶的黑色主題,并且在線安裝黑色主題會報錯 去網上找了一圈結果都是騙人的,這個時候別著急,只需三個簡單的步驟即可完成黑色主題配置。 下面是設置完…

tomcat-maven插件熱部署(簡潔版)

最近在學ssm框架,為了提高學習效率,想使用tomcat-maven插件熱部署,網上有很多關于這方面的文章,但是有很多坑。 自己總結了一下,簡化了多余的配置,還有運行過程中發生異常的原因。 環境:apach…

eclipse中配置jad反編譯插件

1 下載Eclipse支持jad插件的jar包 將下載得到的net.sf.jadclipse_3.3.0.jar放到eclipse》plugins目錄下 2 eclipse配置jad插件 下載jad.exe 3 設置文件關聯