溢出属性-x:hidden;和-y:可见

时间:2013-02-20 04:40:46

标签: html css overflow

是否无法将元素的左侧和右侧设为overflow:hidden,将顶部和底部设为overflow-visible

hidden添加到溢出属性后,它们都会从外部容器中切断。

我试过这个但没有运气: http://jsfiddle.net/dmGXY/

<div id="outer" style="overflow-x:hidden;overflow-y:visible;">
    <div id="left"></div>
    <div id="top"></div>
</div>
<style>
#left,#top {
    position:absolute;
    border:solid black 2px;
    width:100px;
    height:100px;
}
#left {
    margin-left:-30px;
}
#top {
    margin-left:100px;
    margin-top:-30px;
}
#outer {
    position:absolute;
    top:70px;
    left:100px;
    width:300px;
    height:200px;
    border:solid 2px red;
}
</style>

1 个答案:

答案 0 :(得分:1)

你不能隐藏一个并展示另一个,但你可以使用另一个容器作为“面具”来达到同样的效果

<div id="outer">
    <div id="inner">
        <div id="left"></div>
        <div id="top"></div>
    </div>
</div>

#left,#top {
    position:absolute;
    border:solid black 2px;
    width:100px;
    height:100px;
}
#left {
    margin-left:-30px;
}
#top {
    margin-left:100px;
    margin-top:-30px;
}
#inner {
    position:absolute;
    top:70px;
    left:0;
    width:300px;
    height:200px;
    border:solid 2px red;
}
#outer {
    position:absolute;
    top:0;
    left:100px;
    width:304px;
    height:100%;
    border:solid 2px green;
    overflow: hidden;
}

您可以在此处查看输出: http://jsfiddle.net/LB2bg/