Html 父div可见区域内的固定位置

Html 父div可见区域内的固定位置,html,css,position,Html,Css,Position,我想知道是否有一种方法可以修复div可见区域内的元素,如下图所述 下面是我的问题()的一个例子: HTML: >代码> >菜单> >滚动>代码> >菜单> > P> >使用>代码>位置:固定;CSS类定义中的代码>。这将相对于浏览器窗口而不是文档本身定位div,使其在滚动时保持其位置。使用位置:固定。这将使div相对于浏览器窗口而不是文档本身进行定位,从而允许它在滚动时保持其位置。如果使用位置:固定,现在有办法固定div区域内的元素属性,然后它将自动相对于浏览器修复它 这是一个默认功能。

我想知道是否有一种方法可以修复
div
可见区域内的元素,如下图所述

下面是我的问题()的一个例子:

HTML:


>代码> >菜单> <代码> >滚动>代码> >菜单> <代码> > P> >使用>代码>位置:固定;CSS类定义中的代码>。这将相对于浏览器窗口而不是文档本身定位div,使其在滚动时保持其位置。

使用
位置:固定。这将使div相对于浏览器窗口而不是文档本身进行定位,从而允许它在滚动时保持其位置。

如果使用
位置:固定,现在有办法固定div区域内的元素属性,然后它将自动相对于浏览器修复它


这是一个默认功能。

如果使用
位置:fixed属性,然后它将自动相对于浏览器修复它

这是一个默认功能。

#菜单折叠
上,您需要添加
位置:固定以使其保持在相同的位置。而且,你需要
top:50%为了使它在代码< >菜单> <代码>和<代码> z索引:1;code>以使其显示在某个块的顶部

HTML:

<div id="header" ></div>
<div id="menu">
    <a id="menu-collapse">collapse</a>
    <div id="some-block">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vitae tortor fermentum, pellentesque lorem vitae, ullamcorper urna. Sed in imperdiet nisl, porta porta sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum euismod sapien a imperdiet placerat. Ut a maximus felis. Mauris porta purus id mi feugiat ultrices. Etiam mattis leo id hendrerit sagittis. Vivamus dapibus blandit ligula varius semper.</p>
        <p>Ut nisl neque, efficitur non risus vitae, luctus cursus dui. Pellentesque aliquam varius cursus. Fusce lobortis, sapien at dictum porta, erat eros rhoncus metus, sit amet finibus libero quam nec nisl. Phasellus tempus ante vitae rutrum ultricies. Fusce sit amet hendrerit quam, egestas gravida risus. Donec eget tristique enim, ac lacinia nunc. Nam pulvinar, nunc et scelerisque ornare, est augue mollis sem, vel vulputate arcu mi et eros. Proin varius arcu vitae nisi porttitor, sit amet finibus eros congue. In dapibus tincidunt tortor. Sed at sem id tortor molestie finibus eget ut sem. In semper feugiat elementum. Morbi enim mauris, venenatis non felis ac, interdum euismod sapien. Praesent semper ante vel mauris auctor, ut commodo ipsum malesuada. Morbi hendrerit tortor sapien. Nulla in hendrerit dui, eu accumsan est</p>
    </div>
</div>
<div id="content">

</div>
#菜单折叠
中,需要添加
位置:固定以使其保持在相同的位置。而且,你需要
top:50%为了使它在代码< >菜单> <代码>和<代码> z索引:1;code>以使其显示在某个块的顶部

HTML:

<div id="header" ></div>
<div id="menu">
    <a id="menu-collapse">collapse</a>
    <div id="some-block">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vitae tortor fermentum, pellentesque lorem vitae, ullamcorper urna. Sed in imperdiet nisl, porta porta sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum euismod sapien a imperdiet placerat. Ut a maximus felis. Mauris porta purus id mi feugiat ultrices. Etiam mattis leo id hendrerit sagittis. Vivamus dapibus blandit ligula varius semper.</p>
        <p>Ut nisl neque, efficitur non risus vitae, luctus cursus dui. Pellentesque aliquam varius cursus. Fusce lobortis, sapien at dictum porta, erat eros rhoncus metus, sit amet finibus libero quam nec nisl. Phasellus tempus ante vitae rutrum ultricies. Fusce sit amet hendrerit quam, egestas gravida risus. Donec eget tristique enim, ac lacinia nunc. Nam pulvinar, nunc et scelerisque ornare, est augue mollis sem, vel vulputate arcu mi et eros. Proin varius arcu vitae nisi porttitor, sit amet finibus eros congue. In dapibus tincidunt tortor. Sed at sem id tortor molestie finibus eget ut sem. In semper feugiat elementum. Morbi enim mauris, venenatis non felis ac, interdum euismod sapien. Praesent semper ante vel mauris auctor, ut commodo ipsum malesuada. Morbi hendrerit tortor sapien. Nulla in hendrerit dui, eu accumsan est</p>
    </div>
</div>
<div id="content">

</div>

如果你想要得到你收到的两个答案中更具体的信息,你应该包括你的CSS和HTML代码。我只是感谢你的推荐如果你想要得到你收到的两个答案中更具体的信息,你应该包括你的CSS和HTML代码。我只是谢谢你的建议。谢谢你的回答,但是菜单崩溃不是在菜单中间,而是在整个页面的中间。当我设置#menu top:170px;不能靠近中间。对不起,我弄错了。我不确定有没有办法。我在谷歌上四处搜索,想看看是否能找到任何东西,但没有找到适合你的场景的东西。。。可能是使用JS来找到“代码> >菜单> <代码>的高度,然后使用它来定位<代码>菜单崩溃可能是您唯一的选择…谢谢您的回答,但是*菜单崩溃不是在中间菜单的中间,而是在整个页面的中间。当我设置#menu top:170px;不能靠近中间。对不起,我弄错了。我不确定有没有办法。我在谷歌上四处搜索,想看看是否能找到任何东西,但没有找到适合你的场景的东西。。。可能使用JS查找
#菜单
的高度,然后使用它定位
#菜单折叠
可能是您唯一的选择。。。
<div id="header" ></div>
<div id="menu">
    <a id="menu-collapse">collapse</a>
    <div id="some-block">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vitae tortor fermentum, pellentesque lorem vitae, ullamcorper urna. Sed in imperdiet nisl, porta porta sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum euismod sapien a imperdiet placerat. Ut a maximus felis. Mauris porta purus id mi feugiat ultrices. Etiam mattis leo id hendrerit sagittis. Vivamus dapibus blandit ligula varius semper.</p>
        <p>Ut nisl neque, efficitur non risus vitae, luctus cursus dui. Pellentesque aliquam varius cursus. Fusce lobortis, sapien at dictum porta, erat eros rhoncus metus, sit amet finibus libero quam nec nisl. Phasellus tempus ante vitae rutrum ultricies. Fusce sit amet hendrerit quam, egestas gravida risus. Donec eget tristique enim, ac lacinia nunc. Nam pulvinar, nunc et scelerisque ornare, est augue mollis sem, vel vulputate arcu mi et eros. Proin varius arcu vitae nisi porttitor, sit amet finibus eros congue. In dapibus tincidunt tortor. Sed at sem id tortor molestie finibus eget ut sem. In semper feugiat elementum. Morbi enim mauris, venenatis non felis ac, interdum euismod sapien. Praesent semper ante vel mauris auctor, ut commodo ipsum malesuada. Morbi hendrerit tortor sapien. Nulla in hendrerit dui, eu accumsan est</p>
    </div>
</div>
<div id="content">

</div>
#menu {
    position: fixed;
    top: 70px;
    bottom: 0px;
    left: 0;
    width: 200px;
    background-color: rgb(100, 134, 27);
    overflow-x: auto;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 70px;
    background-color: rgb(27, 48, 0);
    min-width: 540px;
}

#menu-collapse{
    position: fixed;
    top: 50%;
    z-index: 1;
    background: red;
}

#content {
    position: fixed;
    top: 70px;
    right: 0px;
    bottom: 0px;
    left: 200px;
    background-color: rgb(27, 118, 0);
}

#some-block{
    position:absolute;
    display:inline;
    background-color: yellow;
    width: 200px;
    height: 2500px;

}