如何使粘性div漂浮在页面的其余部分上?

罗德里戈:

我在窗口顶部有一个浮动菜单,仅占据其宽度的1/4。剩余的3/4(以及菜单1/4的后面)应被下一个文档部分中的图像占用。但是,图像最初显示在菜单下方,即菜单未如我所愿地浮动。

我得到的是:

问题

我想要的是:

解

body,ul {
  margin: 0;
  overflow-x:hidden;
}
header {
  background: green;
}
nav {
  background: #ff000080;
  width: 25vw;
  position: sticky;
  top: 0;
}
main img {
  width: 100vw;
}
<header>Title</header>
<nav>
  <ul>
    <li>link 1</li>
    <li>link 2</li>
    <li>link 3</li>
  </ul>
</nav>
<main>
  <img src='https://cdn.britannica.com/90/3890-050-F451C580/rainforest-coast-lowland-rainforests-Ecuador-tropics-evergreen.jpg' />
</main>

如何使粘性元素始终浮动,即在其右侧不显示空白?

编辑:图像不能在背景上。它应该在main标记内,那里将有更多元素,包括文本和其他图像。除菜单外,所有菜单均应滚动至顶部。

随同Afif:

您可以考虑使用float和shape-outside技巧来确保元素不占用空间:

body,ul {
  margin: 0;
  overflow-x:hidden;
}
header {
  background: green;
}
nav {
  background: #ff000080;
  width: 25vw;
  position: sticky;
  top: 0;
  float:left;
  shape-outside:linear-gradient(transparent,transparent);
}
main img {
  width: 100%;
}
<header>Title</header>
<nav>
  <ul>
    <li>link 1</li>
    <li>link 2</li>
    <li>link 3</li>
  </ul>
</nav>
<main>
  <img src='https://cdn.britannica.com/90/3890-050-F451C580/rainforest-coast-lowland-rainforests-Ecuador-tropics-evergreen.jpg' />
</main>

另一个想法是考虑height:0包装

body,
ul {
  margin: 0;
  overflow-x: hidden;
}

header {
  background: green;
}

nav {
  background: #ff000080;
  width: 25vw;
}

.nav {
  position: sticky;
  top: 0;
  float: left;
  height:0;
}

main img {
  width: 100%;
}
<header>Title</header>
<div class="nav">
  <nav>
    <ul>
      <li>link 1</li>
      <li>link 2</li>
      <li>link 3</li>
    </ul>
  </nav>
</div>
<main>
  <img src='https://cdn.britannica.com/90/3890-050-F451C580/rainforest-coast-lowland-rainforests-Ecuador-tropics-evergreen.jpg' />
</main>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

页面其余部分的CSS

让摩纳哥编辑器填充页面的其余部分(跨浏览器)

CSS规则泄漏到页面的其余部分

如何创建一个粘性的div,该div漂浮在其他元素的上方,并随着屏幕缩放

如何在html / css中使导航栏与页面的其余部分没有空间?

具有自适应高度的iframe,适合页面的“其余部分”

如何忽略其余部分?

如何使导航栏与页面的其余部分重叠?

如何在使html页面的其余部分变暗的同时保持悬停区域的背景颜色/不透明度?

如何使部分可滚动并且与页面的其余部分一样高?

与页面其余部分的重叠列表

如何使html页面的一个区域重定向到另一个url,而页面的其余部分保持不变?

如何创建两个部分,一个部分具有全屏图像,另一部分具有页面的其余部分

使CSS标签在悬停时弹出,而无需将页面的其余部分向下推

如何防止引导导航栏与页面的其余部分一起滚动

使#div(%)填充包装div的其余部分

为什么MySQLi停止了我页面的其余部分的解析并停止了我的PHP脚本?

PHP if语句停止加载HTML页面的其余部分

jsp:include会删除页面的其余部分吗?

如何跳过序列的其余部分

如何使一个div漂浮在另一个div上作为此图像

防止自定义(损坏的)HTML破坏页面的其余部分

固定导航栏在向下滚动时被页面的其余部分覆盖

使代码镜像块填充 Safari 中页面的其余部分

Flex:用面板填充表面的其余部分

使一个非常宽的 div 水平滚动而不影响页面的其余部分

如何防止 CSS 动画移动我页面的其余部分?

ListView 到达结束然后停止滚动并开始滚动页面的其余部分 Flutter

如何在不将页面的其余部分向下推的情况下显示模态?