Ali*_*sam 11 html css position overflow css3
我有一个parent包含绝对定位childdiv的div.
所述child格被定位的初始边界之外parent的div.它正常渲染没有任何问题.
我overflow-y: scroll;在parentdiv中添加了一个,现在child尽管添加了元素,但仍然隐藏了元素overflow-x: visible;.
CSS
#parent{
position: relative;
overflow-y: scroll;
overflow-x: visible;
}
#child{
position: absolute;
left: -50px;
}
Run Code Online (Sandbox Code Playgroud)
也是一个Fidle
在stackoverflow上找到了这个,但你不会高兴.
CSS overflow-x:visible; 溢出-y:隐藏; 导致滚动条问题
简而言之,答案就是这样说的
如果您正在使用其他
visible任何一种overflow-x或overflow-y其他东西visible.该visible值被解释为auto.
他的答案更深入地讨论了解释这种情况的W3规范.
几乎你overflow-x不可见,因为它会转向auto.(这种风格的哪一部分隐藏了它的内容.)如果你overflow-y的不同之处.
编辑:
您可以尝试这个,但作为该规范的解决方法.
HTML
<div id=parent>
<div id=absolute-child>
This is the child
</div>
<div id=child>
This is the child
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
body {
text-align: center;
}
#parent{
display:inline-block;
position: relative;
text-align: left;
}
#absolute-child {
background-color: red;
color: white;
position: absolute;
left: -50px;
}
#child{
border: solid 1px black;
width: 200px;
height: 200px;
overflow-x: visible;
overflow-y: scroll;
margin-left: auto;
margin-right: auto;
}
Run Code Online (Sandbox Code Playgroud)
给我一点时间来解释我做了什么.
编辑
所以首先我基本上必须将你的父div移动到现在存在的父div的子div.这有点奇怪,但这是我唯一能想到的.现在的父div有一个" 缩小到适合 "的样式,通过display: inline-block它包裹它的子div.
由于位置absolute被推出文档流程,这意味着您的absolute位置子项不会影响它的新"缩小到适合"父级的宽度或高度."缩小到适合"父母也显示relative这个让你的absolute位置div根据它定位.此外,由于现在显示父inline-block级以使其居中,因此必须center对其包含的元素使用text-align .这意味着您还需要left在#parent或#child元素上放置文本对齐方式.
希望这有帮助.:)
PS我编辑了它在#child元素上有一个不必要的位置的小提琴.我还将text-align left添加到新父级