国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

CSS 同級元素position:fixed和margin-top共同使用的問題

2024-07-11 08:59:25
字體:
供稿:網(wǎng)友

問題描述

想用CSS實(shí)現(xiàn)頂部固定的效果:

嘗試margin-top加position:fixed實(shí)現(xiàn),代碼如下:

<!DOCTYPE html><html><head>  <meta charset="utf-8">  <meta name="viewport" content="width=device-width">  <title>Test</title>  <style type="text/css">      .header {          position: fixed;          height: 20px;          width: 100%;      }      .content {          margin-top: 30px;      }      .aside {          float: left;          width: 200px;          background: orange;      }      .main {          overflow: auto;          background: yellow;      }  </style></head><body>    <div class="header">123</div>    <div class="content">        <div class="aside">aside</div>        <div class="main">main</div>    </div></body></html>

結(jié)果header沒有定位在頂部,而是空出了content的margin-top距離:

按照position:fixed的定義,header已經(jīng)脫離文檔流,應(yīng)該不會受到content布局影響,但結(jié)果并非如此。

問題探究

1.content的margin-top改為padding-top:可實(shí)現(xiàn)預(yù)期效果。
2.content同時設(shè)置margin-top和padding-top:仍會空出margin-top的距離。
3.body設(shè)置padding-top:會空出body的padding-top的距離,可實(shí)現(xiàn)預(yù)期效果。
4.body設(shè)置margin-top:會空出max(body->margin-top,content->margin-top)的距離。
5.給header設(shè)置top,如top: 0;:不受body和content的布局影響。

TBD:之后補(bǔ)充詳細(xì)的測試代碼和效果圖( ̄∇ ̄)...

總結(jié)

歸根結(jié)底是margin-top塌陷問題對position:fixed的影響。首先,對于position:fixed元素,如果不指定top,它在垂直方向上的參考原點(diǎn)是body盒模型的content的上邊界。如果指定top,它在垂直方向上的參考原點(diǎn)才是我們常說的視窗(viewport)的上邊界,left和水平方向同理。這里的參考原點(diǎn)是指fixed元素布局時的參考對象,一旦確定,即便頁面被下拉,body上邊界上移,fixed元素位置也不再改變。其次,因?yàn)閙argin-top塌陷問題,設(shè)置content的margin-top后,body的content部分會下移,即參考原點(diǎn)下移,所以fixed元素會空出margin-top的距離。

所以,可以從兩方面解決這個問題:

1.將參考原點(diǎn)改為視窗:給fixed元素設(shè)置top。

2.解決margin-top塌陷問題,更多方法見下方鏈接:

1)給body設(shè)置padding-top。
2)給body設(shè)置border,border顏色和背景色一致。
3)給body設(shè)置position:fixed,這種會導(dǎo)致body的滾動條消失。

先將就看著呀~忙過這陣來完善(允悲)(允悲)。。。
TBD:content名字和盒模型content重啦待改...

  • 不懂position:fixed?=> position|MDN
  • 不懂margin-top塌陷?=> margin-top塌陷問題的現(xiàn)象與解決

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 荣成市| 东明县| 嘉义市| 英德市| 东莞市| 孟津县| 肃宁县| 方山县| 宜城市| 新巴尔虎左旗| 都江堰市| 博罗县| 呼和浩特市| 华宁县| 彰化市| 河源市| 鸡西市| 贵州省| 罗平县| 波密县| 乐东| 墨玉县| 奉节县| 彭泽县| 平远县| 江华| 涞水县| 石阡县| 正安县| 吉隆县| 黄浦区| 米脂县| 进贤县| 古蔺县| 枣庄市| 瑞昌市| 昌江| 滦平县| 鱼台县| 武义县| 泸溪县|