html粘性頁(yè)腳的具體使用
本學(xué)期在軟件設(shè)計(jì)大作業(yè)時(shí)要實(shí)現(xiàn)一個(gè)粘性頁(yè)腳功能,即不管頁(yè)面內(nèi)容怎么變,頁(yè)腳始終要滑到頁(yè)面的最下方才能出現(xiàn)。
本次作業(yè)采用bootstrap框架
網(wǎng)上方法
1、html標(biāo)簽
將html顯示高度占滿(class=“h-100”)。
<html lang="en" class="h-100">
2、body標(biāo)簽
設(shè)置body彈性布局,并將高度占滿(class=“d-flex flex-column h-100”)。
<body class="d-flex flex-column h-100">
3、main標(biāo)簽
將main設(shè)置為不同的屏幕設(shè)備不設(shè)置收縮(role=“main” class=“flex-shrink-0”)。
<main role="main" class="flex-shrink-0">
彈性收縮規(guī)則:
- flex-shrink-0 不同的屏幕設(shè)備不設(shè)置收縮
- flex-shrink-1 不同的屏幕設(shè)備設(shè)置收縮
4、footer標(biāo)簽
設(shè)置footer頂部邊框高度自動(dòng)設(shè)置(class=“mt-auto”)。
<footer class="footer mt-auto py-3">
但我試了一下在我這都不能實(shí)現(xiàn)預(yù)期的效果。
解決方法
可通過(guò)判斷$(window)和$(document)的關(guān)系來(lái)為footer添加"fixed-bottom"class
$(window).height()代表了當(dāng)前可見(jiàn)區(qū)域的大小,
$(document).height()則代表了整個(gè)文檔的高度,可視具體情況使用.
可根據(jù)它們兩個(gè)之間的關(guān)系來(lái)決定是否添加改class。
頁(yè)腳如下所示:
<footer class="mt-auto py-3 bg-dark" id="footer">
<div class="container">
<p class="m-0 text-center text-muted">Copyright © Blog 2021</p>
</div>
</footer>
動(dòng)態(tài)添加"fixed-bottom"class
if($(window).height() == $(document).height()){
$("#footer").addClass("fixed-bottom");
}else{
$("#footer").removeClass("fixed-bottom");
}
注意:如果 $(window).height() 獲取的不是窗口的高度而是文檔文本高度,也就是 (window).height()和(document).height返回值一樣。那就是因?yàn)镈OCTYPE沒(méi)寫(xiě)造成的。
請(qǐng)檢查html標(biāo)簽,改成,就OK了。
為此專門(mén)查了一下的作用:
DOCTYPE是document type(文檔類型)的簡(jiǎn)寫(xiě),在web設(shè)計(jì)中用來(lái)說(shuō)明你用的XHTML或者HTML是什么版本。其中的DTD叫文檔類型定義,里面包含了文檔的規(guī)則,瀏覽器就根據(jù)你定義的DTD來(lái)解釋你頁(yè)面的標(biāo)識(shí),并展現(xiàn)出來(lái)。特別是沒(méi)有聲明或聲明不正確將在標(biāo)準(zhǔn)瀏覽器下更是不能正常顯示。
要建立符合標(biāo)準(zhǔn)的網(wǎng)頁(yè),DOCTYPE聲明是必不可少的關(guān)鍵組成部分;除非你的XHTML確定了一個(gè)正確的DOCTYPE,否則你的標(biāo)識(shí)和CSS都不會(huì)生效。
網(wǎng)頁(yè)中用了 <!DOCTYPE html> 就表示該頁(yè)面采用了W3C標(biāo)準(zhǔn),這樣做可以增強(qiáng)頁(yè)面的兼容性,降低對(duì)瀏覽器的依賴性。
不加這一行,就表示頁(yè)面采用瀏覽器本身的解析標(biāo)準(zhǔn),這樣會(huì)造成頁(yè)面在不同的瀏覽器(IE、火狐等)可能出現(xiàn)不同的顯示效果。
也許這個(gè)解釋能說(shuō)明一定的原因。 定義DOCTYPE是個(gè)好習(xí)慣,也希望大家能寫(xiě)出標(biāo)準(zhǔn)規(guī)范的代碼!
到此這篇關(guān)于html粘性頁(yè)腳的具體使用的文章就介紹到這了,更多相關(guān)html粘性頁(yè)腳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

HTML頁(yè)面滾動(dòng)時(shí)部分內(nèi)容位置固定不滾動(dòng)的實(shí)現(xiàn)
這篇文章主要介紹了HTML 頁(yè)面滾動(dòng)時(shí)部分內(nèi)容位置固定不滾動(dòng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著2021-04-14

