html – 如何让divspan“填写”页面的剩余宽度高度,并保持固定位置?

html – 如何让divspan“填写”页面的剩余宽度高度,并保持固定位置?,第1张

概述我正在尝试开发一个在本地工作的网络应用程序(不知道如何解释它,但它的工作方式与 clipchamp一样,因为它在你的计算机上“正常工作”),但这与现在无关,所以我不会深入研究在这方面. 目前我遇到了页面布局及其CSS规则的问题. 我有一个标题(div)占据页面宽度的100%,但是高25px并且位于页面的顶部;和一个应该占据剩余空间高度的导航栏(跨度)(我们稍后会到达),宽度为180px,位于页面的 我正在尝试开发一个在本地工作的网络应用程序(不知道如何解释它,但它的工作方式与 clipchamp一样,因为它在你的计算机上“正常工作”),但这与现在无关,所以我不会深入研究在这方面.

目前我遇到了页面布局及其CSS规则的问题.
我有一个标题(div)占据页面宽度的100%,但是高25px并且位于页面的顶部;和一个应该占据剩余空间高度的导航栏(跨度)(我们稍后会到达),宽度为180px,位于页面的左侧.页面的其余部分应该是内容所在的位置.

我的问题如下:

>因为我希望标题和导航栏都固定在它们的位置(这样滚动只发生在内容div上)我尝试添加position:fixed;他们的规则.然而,这导致导航栏将其位置重置到页面的左上角,因此与标题重叠,因此我将导航栏从顶部移动了27px(标题为其边框的h.)因为我不知道如何让导航栏占据剩余的高度空间,我暂时给它高达97.2%.这显然很糟糕,这就是我在这里的原因.那么,我怎样才能使这个跨度自动占用剩余空间?
>完成上述 *** 作后,我意识到内容div移动到页面的左上角.我不知道为什么会这样.我尝试以一种类似的方式将内容div移动一个固定的数量来解决这个问题,这又是坏事.所以我基本上和以前一样有问题,除了这次是宽度和高度.

我尝试搜索并查看了向其他用户建议的一些解决方案(this thread中另一位用户建议的this solution here引起了更多的兴趣,但是新的我不太明白我是如何调整它还包括旁边的一个垂直列内容div因此恢复了我对代码的尝试更改并尝试坚持我理解的内容.

所以,这是HTML代码.标题中的图像应该不是问题,并且唯一的脚本每隔100毫秒就会不断刷新页面. (注意:导航栏目前是空的,但它应该在里面有一个“箭头菜单”)

<HTML>    <head>        <link rel="stylesheet" type="text/CSS" href="style.CSS">        <script src="prevIEw.Js"></script>    </head>    <body>        <div ID="header">            <span ID="avatar">                <img ID="avatarImage" src="assets/defaultProfile.png" wIDth="20" height="20">            </span>            AnimeDB            <span ID="lightText">Dev Mode</span>        </div>        <span ID="navbar"></span>        <div ID="content">            Content        </div>    </body></HTML>

这是CSS,但我删除了对navbar和内容的更改.在你继续阅读之前,我想指出我还没有完全理解我在这里使用过的一些属性(主要是浮动和显示.我对两者的工作方式都有一个非常粗略的了解).

HTML,body {    height: 100%;    margin: 0;    padding: 0;}body{    background-color: #D3D3D3;}#header {    display: inline-block;    color: white;    background-color: #41B1E1;    wIDth: 100%;    height: 25px;    Font-family: 'Segoe UI',Arial,sans-serif;    Font-weight: bold;    Font-size: 17px;    border-bottom: 2px solID white;    /*Box-shadow: 0 3px 5px #9f9f9f;*/}#avatar {    float: left;    background-color: #0071BC;    color: white;    wIDth: 30px;    height: 25px;    padding: 0 5px 0 5px;    border-right: 3px solID #71C5E9;    margin-right: 5px;}#avatarImage {    margin: 2px 5px;}#lightText {    color: rgba(255,255,0.5);}#navbar {    float: left;    wIDth: 180px;    height: 97.2%;    background-color: #A5A5A5;    border-right: 2px solID white;}#content {    background-color: greenyellow;}

我希望我已经足够清楚地解释我的问题和思考过程,并且我可以从这次经历中学到新东西.

解决方法 我的解决方案是使用2个包装div:

> body-wrapper:包含header和content-wrapper
> content-wrapper:包含导航栏和内容

包装器有填充,设置为100%宽度,100%高度和盒子大小:border-Box;,这非常重要.通常你会得到100%的填充.使用盒子大小:边框;元素将保持100%.

body,HTML {    height: 100%;}body {    background-color: #eee;    margin: 0;}#body-wrapper {    position: relative;    height: 100%;    padding-top: 50px;    background-color: orange}#header {    position: absolute;    top: 0;    left: 0;    wIDth: 100%;    height: 50px;    padding: 15px 0 0 120px;    background-color: #bababa;}img {    position: absolute;    top: 0;    left: 0;}#content-wrapper {    position: relative;    height: 100%;    wIDth: 100%;    padding-left: 100px;}#navbar {    position: absolute;    display: block;    top: 0;    left: 0;    wIDth: 100px;    height: 100%;    padding: 10px;    color: #fff;    background-color: #333}#content {    position: relative;    wIDth: 100%;    height: 100%;    padding: 1px 20px;    overflow-y: auto;}.border-Box {    -webkit-Box-sizing: border-Box;    -moz-Box-sizing: border-Box;    Box-sizing: border-Box;}
<div ID="body-wrapper" >    <div ID="header" >        <img src="http://placehold.it/100x50">AnimeDB    </div>    <div ID="content-wrapper" >        <div ID="navbar" >navbar</div>        <div ID="content" >            <p>                Lorem ipsum dolor sit amet,consetetur sadipscing elitr,sed diam nonumy eirmod tempor invIDunt ut labore et dolore magna aliquyam erat,sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,no sea takimata                sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet,sed diam voluptua. At vero eos et accusam et justo duo dolores                et ea rebum. Stet clita kasd gubergren,no sea takimata sanctus est Lorem ipsum dolor sit amet.            </p>            <p>                Lorem ipsum dolor sit amet,no sea takimata sanctus est Lorem ipsum dolor sit amet.            </p>        </div>    </div></div>
总结

以上是内存溢出为你收集整理的html – 如何让div / span“填写”页面的剩余宽度/高度,并保持固定位置?全部内容,希望文章能够帮你解决html – 如何让div / span“填写”页面的剩余宽度/高度,并保持固定位置?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1061760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存