位置相对于父div之外,没有滚动但可见

时间:2017-04-04 14:55:16

标签: javascript html css css3 css-position

编辑:

从本质上讲,我的问题似乎是希望将overflow-y:hidden;overflow-x:visisble;结合起来。这似乎违反了规范。如果有人知道解决方法,请务必告诉我:))

当我尝试使用position: absolute;position: relative;将div放在它的父div之外时,父div获得一个滚动条。

我不想要滚动条。但显然当我使用overflow: hidden;时,父母之外的孩子的位被截断了。

如果没有出现滚动条,如何使父级外部的位可见?

编辑:

忘了提。外部div需要overflow-y:hidden;

编辑添加JSFIDDLE:

https://jsfiddle.net/Lhhxdz9n/4/

<div style="
position:relative;
width:500px;
height:300px;
background-color:green;
overflow-y:hidden;
">
  <div style="
  width:50%;
  margin-left:50%;
  height:50%;
  position:relative;
  overflow:visible;
  background-color:red;
  ">

    <div style="
    background-color:blue;
    position: absolute;
    top: 50%;
    height: 20px;
    transform: translateY(-50%);
     width: 10px;
    right: -5px;
    ">

    </div>
  </div>
</div>

2 个答案:

答案 0 :(得分:0)

坚持立场:相对;在将子元素设置为“position:absolute;”之前的父元素上。

确保父元素(或dom中较高的元素)没有“overflow:auto;”与之相关的

答案 1 :(得分:0)

你应该将'overflow:visible'添加到父div的样式中,沿着position:relative。对于子div,您可以写位置:绝对位置和定义位置

检查

overflow:visible;

https://jsfiddle.net/Lhhxdz9n/5/