如何讓整個頁面內容居中,如何讓高度適應內容自動伸縮。這是學習CSS佈局最常見的問題。下面就舉出一個實際的例子,並詳細解釋。 (本文的經驗和是藍色理想論壇xpoint、guoshuang共同討論得出的。)
首先先按這裡看實際運行效果,這個頁面在mozilla、opera和IE瀏覽器中均可以實現居中和高度自適應。我們來分析程式碼:
完整程式碼
1
1
1
1
1

首先我們定義body和頂部第一行#header,這裡面的關鍵是body中的text-align:center;和header中的
margin-right: auto;margin- left: auto;,透過這兩句話使得header居中。註:其實定義text-align:center;就已經在IE中實作居中,但在mozilla中無效,需要設定margin:auto;才可以實現mozilla中的居中。
接下來定義中間的兩列#right和#left。為了讓中間兩列也居中,我們在它們外面嵌套一個層#contain,並對contain設定margin:auto;,這樣#right和#left就自然居中了。 注意中間兩列定義的順序,我們先定義#right,透過float: right;讓它浮在#contain層的最右邊。然後再定義#left,透過
float: left;讓它浮動在#right層的左面。這和我們以前表格從左到右定義的順序正好相反(更正:先左後右、還是先右後左都可以實現,根據自己需要設計)。 我們看到程式碼中在#contain和兩列之間還嵌套了一個層#mainbg,這個層是做什麼用的呢?這個層就是用來定義#contain的背景的。你一定會問,為什麼不直接在#contain中定義背景,而要多套一層呢?那是因為在#contain中直接定義的背景,在mozilla中將顯示不出來,必須定義高度值才可以。如果定義了高度值,#right層就無法實現根據內容的自動伸縮。為了解決背景和高度問題,就必須增加這麼一個#mainbg層。竅門在於#mainbh這個層定義
float: left;,因為float使層自動有寬和高的屬性。 (暫且如此理解:) 最後是定義底部的#footer層。這個定義的關鍵是:
clear:both;,這句話的作用是取消#footer層的浮動繼承。否則的話,你會看到#footer緊貼著#header顯示,而不是在#right的下面。 主要的層定義完畢,這個版面就ok了。補充一點:你看到我還定義了一個
.text{margin:0px;padding:20px;},這個class的作用是讓內容的外圍有20px的空白。為什麼不直接在#right定義margin或padding呢,因為mozilla和IE對css盒模型的解釋不一致,直接定義margin/padding會造成mozilla裡佈局變形。我一般會採用內部再套一層的做法來解決。
前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。