Html 用2个分割器分割屏幕

Html 用2个分割器分割屏幕,html,css,Html,Css,一位SO成员提出了一个关于用2个分隔器划分屏幕的问题,底部分隔器采用固定高度,顶部分隔器采用剩余高度 这是他的密码” html, 身体, 反对{ 身高:100%; 宽度:100%; 边际:0px; 填充:0px; } div{ 边际:0px; 填充:0px; } #主容器{ 位置:相对位置; 身高:100%; 宽度:100%; } #顶部容器{ 边框:1px纯红; 位置:绝对位置; 顶部:0px; 左:0px; 身高:100%; 宽度:100%; } #底部容器{ 边框:1px纯蓝色; 位置:绝

一位SO成员提出了一个关于用2个分隔器划分屏幕的问题,底部分隔器采用固定高度,顶部分隔器采用剩余高度

这是他的密码”

html,
身体,
反对{
身高:100%;
宽度:100%;
边际:0px;
填充:0px;
}
div{
边际:0px;
填充:0px;
}
#主容器{
位置:相对位置;
身高:100%;
宽度:100%;
}
#顶部容器{
边框:1px纯红;
位置:绝对位置;
顶部:0px;
左:0px;
身高:100%;
宽度:100%;
}
#底部容器{
边框:1px纯蓝色;
位置:绝对位置;
底部:0px;
左:0px;
高度:100px;
宽度:100%;
}
这是最高级别
这是最下面的部分
我的解决方案是给顶部容器一个86.1%的高度


我的解决方案被认为是错误的吗?为什么?

在我看来,您的解决方案会将顶部容器的高度设置为其父级高度的86.1%。如果调整屏幕大小,顶部容器的高度也会缩小/增大。因此,它不会始终与底部容器的边缘匹配


看看原始帖子中的Shrinivas答案,bottomContainer已经有一个固定的高度100px,您可以使用它和CSS函数
calc()
可以计算高度-最好的方法是,你可以从百分比中增减像素,反之亦然。因此,将topContainer的高度设置为
计算(100%-100);
将使其全高减去底部容器的固定高度。此解决方案将适用于每个屏幕和窗口分辨率。

在我看来,您的解决方案将顶部容器的高度设置为其父级高度的86,1%。如果您调整屏幕大小,顶部容器的高度也将缩小/增大。因此,它不会一直存在与底部容器的边缘相匹配


看看原始帖子中的Shrinivas答案,bottomContainer已经有一个固定的高度100px,您可以使用它和CSS函数
calc()
可以计算高度-最好的方法是,你可以从百分比中增减像素,反之亦然。因此,将topContainer的高度设置为
计算(100%-100);
将使其全高减去底部容器的固定高度。此解决方案将适用于每个屏幕和窗口分辨率。

在我看来,您的解决方案将顶部容器的高度设置为其父级高度的86,1%。如果您调整屏幕大小,顶部容器的高度也将缩小/增大。因此,它不会一直存在与底部容器的边缘相匹配


看看原始帖子中的Shrinivas答案,bottomContainer已经有一个固定的高度100px,您可以使用它和CSS函数
calc()
可以计算高度-最好的方法是,你可以从百分比中增减像素,反之亦然。因此,将topContainer的高度设置为
计算(100%-100);
将使其全高减去底部容器的固定高度。此解决方案将适用于每个屏幕和窗口分辨率。

在我看来,您的解决方案将顶部容器的高度设置为其父级高度的86,1%。如果您调整屏幕大小,顶部容器的高度也将缩小/增大。因此,它不会一直存在与底部容器的边缘相匹配


看看原始帖子中的Shrinivas答案,bottomContainer已经有一个固定的高度100px,您可以使用它和CSS函数
calc()
可以计算高度-最好的方法是,你可以从百分比中增减像素,反之亦然。因此,将topContainer的高度设置为
计算(100%-100);
将使其全高减去底部容器的固定高度。此解决方案适用于所有屏幕和窗口分辨率。

我没有太多的评论权,这就是为什么我将评论放在这里

我在JSFIDLE中运行它,我确信您的解决方案是正确的

#topContainer {
  border: 1px solid red;
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
}
#bottomContainer {
  border: 1px solid blue;
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 100px;
  width: 100%;
}
你自己来试试吧


我没有什么好评论的,这就是为什么我把评论放在这里

我在JSFIDLE中运行它,我确信您的解决方案是正确的

#topContainer {
  border: 1px solid red;
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
}
#bottomContainer {
  border: 1px solid blue;
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 100px;
  width: 100%;
}
你自己来试试吧


我没有什么好评论的,这就是为什么我把评论放在这里

我在JSFIDLE中运行它,我确信您的解决方案是正确的

#topContainer {
  border: 1px solid red;
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
}
#bottomContainer {
  border: 1px solid blue;
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 100px;
  width: 100%;
}
你自己来试试吧


我没有什么好评论的,这就是为什么我把评论放在这里

我在JSFIDLE中运行它,我确信您的解决方案是正确的

#topContainer {
  border: 1px solid red;
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
}
#bottomContainer {
  border: 1px solid blue;
  position: absolute;
  bottom: 0px;
  left: 0px;
  height: 100px;
  width: 100%;
}
你自己来试试吧


你似乎是指这个问题。如果
#topContainer
的高度为
86.1%
,那么
#bottomContainer
的高度将为
13.9%
高度,这是不固定的。@ShrinivasShukla我的答案到底有什么问题,其后果是什么?@dan--提问者问的是底部容器的高度始终为100px高。您的代码将底部容器的高度设置为13.9%。13.9%与100px不同。您的答案的问题是,它根本不符合原始问题询问者的要求。在屏幕高度=
1000px
的设备上,
#底部容器
将是
139px
的高度。在屏幕高度=
500px
的设备上,
#底部容器的高度将
69.5px
。如果高度在不同的设备上发生变化,那么它不是固定的,这不符合要求。@ShrinivasShukla非常感谢您的解释,我真的很感激。看起来就像你提到的这个问题一样。如果
#topContainer
占据了
86.1%
的高度,那么t