先看html和效果图
<!DOCTYPE html><html> <head> <style> body,p{ margin:0; } .header,.footer{ background:#000; height:60px; } /*兼容ie8 html,body{ height:100%; } */ .auto-height{ /*兼容ie8 min-height:100%; */ min-height:100vh; margin-top:-60px; margin-bottom:-60px; /*设置内边距方式一*/ box-sizing:border-box; padding-top:60px; padding-bottom:60px; } /*设置内边距方式二 .auto-height>div{ padding-top:60px; padding-botom:60px; } */ </style> </head> <body> <div class="header"> </div> <div class="main auto-height" id="main-con"> <div> <p>设置页面最小高度为窗口高度的方法</p> </div> </div> <div class="footer"> </div> <!-- script> var mainElem=document.getElementById("main-con"); document.onreadystatechange=function(){ if(document.readyState=="complete"){ mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; window.onresize=function(){ mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; }; } }; </script --> </body></html>
效果图:
这里有两种方法:
第一种是使用css实现:
1. 给main元素添加样式:
min-height:100vh; margin-top:-60px;//数值等于页面头部高度 margin-bottom:-60px;//数值等于页面尾部高度
margin的高度是页面头部和尾部的高度。
2. 为了让main元素里的所有内容都显示出来,要增加相应的内边距,这里有两种方法:
box-sizing:border-box;//将main元素的宽高计算方式更改为包含内边距和边框 padding-top:60px;//数值等于页面头部高度 padding-botom:60px;//数值等于页面尾部高度
或设置其子元素的内边距:
.auto-height>div{ padding-top:60px;//数值等于页面头部高度 padding-botom:60px;//数值等于页面尾部高度 }
3.由于ie8不支持vh单位,所以如果需要兼容ie8的话,可以将html和body的高度都设为100%,再设置main元素的最小高度为100%(min-height:100%),其他的设置不变。
html,body{ height:100%; }
第二种是使用JavaScript来实现:
使用JavaScript来动态设置main元素的最小高度即可,这里提供其中一种实现方式
var mainElem=document.getElementById("main-con");//获得main元素 document.onreadystatechange=function(){ if(document.readyState=="complete"){//页面加载完成时执行 mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px";//初始化最小高度 window.onresize=function(){//窗口大小改变时改变main元素的最小高度 mainElem.style.minHeight=(document.documentElement.clientHeight-120)+"px"; }; } };
最小高度的值=窗口的高度-页面头部高度-页面尾部高度。
来自: http://my.oschina.net/hwxn/blog/598645

一致的HTML編碼風格很重要,因為它提高了代碼的可讀性、可維護性和效率。 1)使用小寫標籤和屬性,2)保持一致的縮進,3)選擇並堅持使用單引號或雙引號,4)避免在項目中混合使用不同風格,5)利用自動化工具如Prettier或ESLint來確保風格的一致性。

在Bootstrap4中實現多項目輪播的解決方案在Bootstrap4中實現多項目輪播並不是一件簡單的事情。雖然Bootstrap...

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

無法直接通過CSS修改HTML視頻的默認播放控件樣式。 1.使用JavaScript創建自定義控件。 2.通過CSS美化這些控件。 3.考慮兼容性、用戶體驗和性能,使用庫如Video.js或Plyr可簡化過程。

在手機上使用原生select的潛在問題在開發移動端應用時,我們常常會遇到選擇框的需求。通常情況下,開發者傾...

在手機上使用原生select的弊端是什麼?在移動設備上開發應用時,選擇合適的UI組件是非常重要的。許多開發者�...

使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理在Three.js中使用Octree實現房間內的第三人稱漫遊並添加碰�...

使用原生select在手機上的問題在移動設備上開發應用時,我們經常會遇到需要用戶進行選擇的場景。雖然原生sel...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

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應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

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