如何使用 CSS 动态调整内容区域大小而不使用 JavaScript

2024-03-26

我想要的是这样的:

  • 当浏览器窗口调整大小时,蓝色区域也会调整大小。
  • 标题可见。
  • 蓝色区域从标题结束处开始(不是标题后面或上方)。
  • 蓝色区域在页脚之前结束。
  • 蓝色区域和页脚之间存在 5 个黄色像素。

这只能通过 CSS 和 HTML 实现(无需任何 javascript)吗?

<!doctype html>
<html lang="en-US">
<head>
    <meta charset="utf-8"/>
    <title>Test</title>

    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;"/>
    <style>

    *{
        margin:0px;
        padding:0px;
    }

    header, nav, article, footer, address {  
        display: block;  
    }

    header{
        position:relative; height: 50px; background-color:#2b2b2b;
    }

    footer{
        height: 50px; 
        width:100%; 
        bottom: 0px; 
        position: fixed; 
        background: red;
    }

    #explorer{
        position:relative; bottom:55px; 
    }

    #sections{
        width: 100%; height: 100%; bottom: 55px; position:fixed; background: blue;
    }

    </style>
</head>

<body style="background-color:yellow">
    <header >
        <h1>Test</h1>
    </header>
  <div id="explorer" >
      <div id="sections" >
   &nbsp;
      </div>
  </div>
  <footer>
       /* Footer Content */
  </footer>
</body>

</html>

我认为 Kit 的代码只需要一项调整,那就是我们必须从 sections div 中删除 height:100%,它将正常工作。另外,在测试以下代码时,我注意到,如果我们将高度减小到超出限制,则页脚实际上会位于页眉上方。虽然,实际上高度永远不会这么小,但您仍然可能需要将 z-index:5000 添加到标题标记

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 CSS 动态调整内容区域大小而不使用 JavaScript 的相关文章