1. 程式人生 > >【轉】CSS實現div的高度填滿剩餘空間

【轉】CSS實現div的高度填滿剩餘空間

轉自:http://www.cnblogs.com/zhujl/archive/2012/03/20/2408976.html

高度自適應問題,我很抵觸用js去解決,因為不好維護,也不夠自然,但是純用CSS,難度不小,比如下面我要說的例子。


需求:

1. 這個矩形的高度和瀏覽器視窗的高度相同,不能出現縱向滾動條

2. 綠色部分高度固定,比如50px

3. 紫色部分填充剩餘的高度


HTML結構暫且如下:

<div id="main"><div id="nav">nav</div><div id="content">content</div></div>

先看1.

html, body {
height: 100%;margin: 0px;padding: 0px;}#main {background-color: #999;height: 100%;}

需求2 也很容易:

#nav {background-color: #85d989;height: 50px;}


需求3 是最讓人頭痛的,一般我們都會想到height:100%, 但是100%是以父元素的高度為準的,比如父元素的高度是300px,#nav佔去了50px,#content理應是250px,但是寫成height: 100%,結果就是#content的高度也變成了300%,出現了需求不允許的縱向滾動條。


當然,用js解決這種問題是相當簡單的,但是這次我就是不想用js,下面就來試吧:


這個需求真的讓我非常崩潰,看似簡單,換了n種方式都覺得不靠譜,最後找到一種最接近理想效果的方法,如下

html, body {height: 100%;margin: 0px;padding: 0px;}#main {background-color: #999;height: 100%;} #nav {background-color: #85d989;width: 100%;height: 50px;float: left;}#content {background-color: #cc85d9;height:100%;}


這裡利用了浮動,最後的結果僅僅是看著沒問題,當然了,如果你只是簡單的展示文字和圖片,這種方法已經夠用了,但是如果你想用js做點互動,比如#content內部有個需要拖拽的元素,它的top最小值肯定不能是0,否則就被#nav擋住了,悲劇的是我就有這種需求,於是繼續苦逼的試。

經過一天的嘗試,加上高人指點,終於有解了,淚奔啊

#nav {background-color: #85d989;width: 100%;height: 50px;}#content {background-color: #cc85d9;width: 100%;position: absolute;top: 50px;bottom: 0px;left: 0px

相關推薦

CSS實現div高度滿剩餘空間

轉自:http://www.cnblogs.com/zhujl/archive/2012/03/20/2408976.html高度自適應問題,我很抵觸用js去解決,因為不好維護,也不夠自然,但是純用CSS,難度不小,比如下面我要說的例子。需求:1. 這個矩形的高度和瀏覽器視窗

CSS實現div高度滿剩餘空間

<div id="main"> <div id="nav">nav</div> <div id="content">content</div> </div> html, body

cssCSS實現div的全屏自適應顯示

還會出現滾動條,所以把溢位都設為hidden。 方法二: html, body { padding: 0; margin: 0; height: 100%; overflow:hidden; } #map { height: 100%; z-index: 0; ba

CSS中的浮動和清除浮動

但是 spa 下拉 而已 ges 推薦 授權 自己的 -c 以下轉自《CSS中的浮動和清除浮動,梳理一下!》 浮動到底是什麽? 浮動核心就一句話:浮動元素會脫離文檔流並向左/向右浮動,直到碰到父元素或者另一個浮動元素。請默念3次! 浮動最初設計的目

pymongo實現模糊查詢

python article 匹配 light net details regex 使用 模糊匹配 pymongo 模糊匹配查詢在mongo中這樣實現 {‘asr‘:/若琪/}    使用pymongo 兩種實現方式 1.import re

mysql實現隨機獲取幾條數據的方法

sele log rom net nbsp tab article .net sql sql語句有幾種寫法 1:SELECT * FROM tablename ORDER BY RAND() LIMIT 想要獲取的數據條數; 2:SELECT *FROM `table`

css禁止文字被選中

原文地址:http://www.cnblogs.com/hkx520/p/7617410.html 有時候,為了讓使用者有更好的體驗,需要禁用掉文字選中功能 比如:使用a標籤模擬按鈕,如果不禁用掉文字選中功能,那麼雙擊時會選中文字,用起來很不爽。 多數情況下,只需要使用CSS樣式就可以實

CSS塊級元素和行內元素

http://www.studyofnet.com/news/398.html 本文導讀:HTML中的元素可分為兩種型別:塊級元素和行級元素。這些元素的型別是通過文件型別定義(DTD)來指明。塊級元素:顯示在一塊內,會自動換行,元素會從上到下垂直排列,各自佔一行,如p,ul,

css中float left與float right的使用說明

http://www.cnblogs.com/zcy_soft/archive/2011/02/12/1952513.html CSS中很多時候會用到浮動來佈局,也就是經常見到的float:left或者float:right,簡單點來說,前者是左浮動(往左側向前邊的非浮

Keepalived實現redis的高可用

Keepalived實現redis的主從切換高可用原理詳解 具體安裝和配置keepalived和redis的教程,網上很多。 推薦幾個: keepalived預設只能做到對網路故障和keepalived本身的監控,即當出現網路故障或者keepali

ehcache實現頁面整體快取和頁面區域性快取

ehcache實現頁面整體快取和頁面區域性快取 之前寫過spring cache和ehcache的基本介紹和註解實現快取管理,今天記錄下web專案的頁面快取技術。   頁面快取是否有必要?。      這樣說吧,幾乎所有的網站的首頁都

css實現div高度根據自適應寬度(百分比)調整

在如今響應式佈局的要求下,很多能自動調整尺寸的元素能夠做到高寬自適應,如img,通過{width:50%;height:auto;}實現圖片高度跟隨寬度比例調整。 然而,用的最多的標籤一哥Div卻不能做到自動調整(要麼從父級繼承,要麼自行指定px,要麼給百分比!但是這個

redis實現的分布式鎖

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px ".PingFang SC"; color: #191f25 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Helvetica Neue"

workerman 實現訊息推送

WEB訊息推送框架 web-msg-sender是一款web長連線推送框架,採用PHPSocket.IO開發,基於WebSocket長連線通訊,如果瀏覽器不支援WebSocket則自動轉用comet推送。 通過後臺推送訊息,訊息可以即時推送到客戶端,非輪詢

乾貨CSS實現漸變色,詳解

希望通過這個例子,讓大家以後遇到漸變色的需求時都能從容應對:background: linear-gradient( 角度 ,起始色 0%【起始色遊標】, 結束色 0%【結束色遊標】);兩遊標之間為漸變色,當結束色遊標在起始色遊標之前時,以起始色遊標為準。#34d058 與 

基礎CSS實現多重邊框的5種方式

簡言目前最優雅地實現多重邊框的方案是利用CSS3 的 box-shadow屬性,但如果要相容老的瀏覽器,則需要選擇其它的方案。本文簡要地列舉了幾種多重邊框的實現方案,大家可以根據專案實際及相容性要求等情況,選擇最適合的實現方案。1 利用描邊(outline)屬性方案1利用描邊

MATLAB實現構造Euler環遊圖的演算法——數學建模

   我們專業課(數學建模)講的東西由七橋堡問題而來的Euler環遊。    如下圖,要將其變為Euler環遊圖。 %首先給出一個矩陣(相鄰表示1,不相鄰表示0),用來表示圖1。 v =      0     1     0     0     0     0     0     1    

CSS中文字型對照表

在寫一個網站的樣式表的時候,都會不可避免地用到一些中文字型,比如說微軟雅黑、黑體等,除非是做英文站,或者說你樂意整站都用瀏覽器預設的字型,那我也算服了U。在 CSS 中寫入中文字型的方法一般採用 font-family:"微軟雅黑","黑體";這樣類似的表達方式,但是對於像 WordPress 這樣需要 U

如何將div高度滿剩余高度

增加 outer nth cti bsp res idt html 定位 下列代碼中navbar高度為30px,content高度需要填滿瀏覽器的剩余高度 <div id="body"> <div id="navbar"></div> <div id="

CSS非常簡單的css實現div懸浮頁面底部

簡單的 fixed style 簡單 底部 demo 實現 clas post <div id="demo_div"></div> <style> #demo_div{    left: 0; positi