div跳过隐藏的溢出但相对于父div仍然保留

伊格纳西

首先,这里有一个带有示例的codepen:http ://codepen.io/anon/pen/VPPjYp

HTML:

<body>
  <ul>
    <li class="blabla span6">  
      asdfasdf<br>
      <span>asdfas</span>
      <div class="bleble"></div><br>
      <div class="wrapper">
        <div class="parent">
          <div class="child"><div class="blibli">aabasdg</div></div>
        </div>
      </div>    
    </li>
  </ul>
</body>

CSS:

.wrapper { position:relative; width:1280px; }
.parent { position:absolute; }
.child { position:fixed; width:960px; }
.blabla {
   overflow:hidden;
   background-color: red;
   height: 90px;
   margin: 10px;
   padding: 10px;
   position: relative;
 }
.bleble{
   height: 10px;
   width: 90px;
   background-color: blue;
 }

 .blibli{
   height: 150px;
   width: 60px;
   background-color: orange;
 }

 body {
   height: 900px;
   background-color: lightgreen;  
 }

在该代码库中,您将看到:

  • 文件正文(绿色)
  • 隐藏CSS溢出的li元素(红色)
  • li元素中的一些内容(一些词和一个蓝色div)
  • 一个特殊的div,它不关心“ li”(橙色)隐藏的溢出

从示例中可以看到,当您向下滚动页面的正文时,橙色div会在溢出隐藏的“ li”元素之外保持相同的固定位置。

我想发生的是,橙色框仍然隐藏在溢出的外面(如现在),但是位于父元素的相对位置(在那个cas中为“ li”),所以当您向下滚动时,它不会在页面中的固定位置上,但在相对于父对象的相对位置上。

我想强调一个事实,那就是它应该跳过父级隐藏的溢出...这是无法更改的条件...

如果可能的话,没有javascript且仅使用CSS ...

你们当中有人知道这是否真的可能吗?

溶胶

您可以通过以下方式做到这一点:

  1. position: relative从中删除.blabla
  2. 设置position: absolute.wrapper.parent.child

.wrapper {
  position: absolute;
  width: 1280px;
}
.parent {
  position: absolute;
}
.child {
  position: absolute;
  width: 960px;
}
.blabla {
  overflow: hidden;
  background-color: red;
  height: 90px;
  margin: 10px;
  padding: 10px;
}
.bleble {
  height: 10px;
  width: 90px;
  background-color: blue;
}
.blibli {
  height: 150px;
  width: 60px;
  background-color: orange;
}
body {
  height: 900px;
  background-color: lightgreen;
}
<body>
  <ul>
    <li class="blabla span6">
      asdfasdf
      <br>
      <span>asdfas</span>
      <div class="bleble"></div>
      <br>
      <div class="wrapper">
        <div class="parent">
          <div class="child">
            <div class="blibli">aabasdg</div>
          </div>
        </div>
      </div>


    </li>
  </ul>

</body>

CODEPEN

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

设置“位置:固定” div相对于父div的宽度

如何使子固定 DIV 相对于父固定 div?

设置相对于父div(容器)的固定块的宽度

CSS:相对于父 div 进行翻译

如何使字体大小相对于父div?

内部div不尊重相对于父div的边距最高

Javascript,游戏,如何确定javascript中div元素相对于父div的位置(x,y)?

使包装div相对于内容的宽度

相对于yOffset位置淡出div

如何相对于图片定位div?

相对于列表长度的 div 数量

溢出隐藏的相对div内的绝对div

鼠标单击相对于父div左上角的坐标

使子容器相对于父div固定(高度不固定)

查找相对于父级滚动div而不是窗口的偏移量

CSS绝对位置而不是相对于其绝对父div

当父级较小时,将 div 相对于视口水平居中

缩放浮动div相对于没有位置的父级:绝对

在相对于li的位置悬停li元素上显示隐藏的响应div

获取相对于整体的元素的索引数,而不仅仅是相对于最近的父div的元素

在相对于容器div的文本顶部堆叠div

如何相对于其他div定位绝对div

如何相对于其中的div制作可拉伸的div

如何相对于固定位置div定位div?

CSS div相对于其他div的定位

图像相对于div中的div的位置

根据子屏幕的位置将子<div>相对于父<div>定位在左侧还是右侧

javascript-如何在jquery中相对于水平水平逐个父级循环子div?

CSS将div添加到相对于父级放置的dom中,而没有其他内容跳转