Javascript 固定flexbox以占用空间
我试图找到一个现代的解决方案,在页面顶部有一个固定的菜单栏(flex-box),下面有一个flex-box。我希望页面滚动,菜单保持静态,第二个内容弹性框(fixBox)的内容滚动。但是,我希望固定菜单的行为就像它与fillBox div的相对关系一样,显示在它下面,而不是它下面 我有以下代码:Javascript 固定flexbox以占用空间,javascript,jquery,html,css,flexbox,Javascript,Jquery,Html,Css,Flexbox,我试图找到一个现代的解决方案,在页面顶部有一个固定的菜单栏(flex-box),下面有一个flex-box。我希望页面滚动,菜单保持静态,第二个内容弹性框(fixBox)的内容滚动。但是,我希望固定菜单的行为就像它与fillBox div的相对关系一样,显示在它下面,而不是它下面 我有以下代码: <!DOCTYPE HTML> <html> <head> <style> body { padding:
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
padding:0;
margin:0;
}
#logo {
width:170px;
border: 1px solid black;
}
#menuStrip {
position:relative;
width:95%;
height:100%;
background-color:#f0f0f0;
border: 1px solid black;
}
#topContainer {
position:fixed;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid black;
width:100%;
height:50px;
}
#fillBox {
display:flex;
justify-content: center;
align-items: center;
border: 1px solid black;
}
#fill1 {
width:100%;
height:2000px;
background-color:#a2b565;
}
#menuObj {
position:absolute;
right:0;
width:40px;
height:30px;
border:1px solid; black;
background-color:red;
}
</style>
</head>
<body>
<div id="topContainer">
<div id="menuStrip"><div id="menuObj"> </div></div>
</div>
<div id="fillBox">
<div id="fill1"> <p> hello </p></div>
</div>
</body>
</html>
身体{
填充:0;
保证金:0;
}
#标志{
宽度:170px;
边框:1px纯黑;
}
#梅努斯蒂普{
位置:相对位置;
宽度:95%;
身高:100%;
背景色:#f0;
边框:1px纯黑;
}
#顶部容器{
位置:固定;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
宽度:100%;
高度:50px;
}
#填料箱{
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
}
#填充1{
宽度:100%;
高度:2000px;
背景色:#a2b565;
}
#梅诺布{
位置:绝对位置;
右:0;
宽度:40px;
高度:30px;
边框:1px实心;黑色;
背景色:红色;
}
你好
注意:不寻找最高利润的黑客解决方案…这个问题的答案与flexbox无关,它与固定定位有关
position:fixed
将DOM元素完全从文档流中移除,因此其他DOM元素忽略它们占用的空间。一种(几种可能的)做法是在#fillBox
中添加一个顶部填充,该填充等于#topContainer
的高度-如果#topContainer
将始终具有固定高度
正文{
填充:0;
保证金:0;
}
#标志{
宽度:170px;
边框:1px纯黑;
}
#梅努斯蒂普{
位置:相对位置;
宽度:95%;
身高:100%;
背景色:#f0;
边框:1px纯黑;
}
#顶部容器{
位置:固定;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
宽度:100%;
高度:50px;
}
#填料箱{
填充顶部:50px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
}
#填充1{
宽度:100%;
高度:2000px;
背景色:#a2b565;
}
#梅诺布{
位置:绝对位置;
右:0;
宽度:40px;
高度:30px;
边框:1px实心;黑色;
背景色:红色;
}
你好
这个问题的答案与flexbox无关,它与固定定位有关
position:fixed
将DOM元素完全从文档流中移除,因此其他DOM元素忽略它们占用的空间。一种(几种可能的)做法是在#fillBox
中添加一个顶部填充,该填充等于#topContainer
的高度-如果#topContainer
将始终具有固定高度
正文{
填充:0;
保证金:0;
}
#标志{
宽度:170px;
边框:1px纯黑;
}
#梅努斯蒂普{
位置:相对位置;
宽度:95%;
身高:100%;
背景色:#f0;
边框:1px纯黑;
}
#顶部容器{
位置:固定;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
宽度:100%;
高度:50px;
}
#填料箱{
填充顶部:50px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边框:1px纯黑;
}
#填充1{
宽度:100%;
高度:2000px;
背景色:#a2b565;
}
#梅诺布{
位置:绝对位置;
右:0;
宽度:40px;
高度:30px;
边框:1px实心;黑色;
背景色:红色;
}
你好