这可能与CSS 3

时间:2010-09-10 21:49:05

标签: html css css3 stylesheet

我在另一个内部有两个DIV。

<div class="outside">
<div class="inside"></div>
</div>

外部div的填充量为20px。内部div有很多内容,可以滚动。 是否可以使用CSS3的渐变(alpha?)功能使内部div的顶部和底部在滚动时淡入外部div?

或者我是否必须使用透明背景图像来实现这一目标?

4 个答案:

答案 0 :(得分:1)

我不这么认为。我认为你可以用插入的阴影来做到这一点,但我认为这不是你想要的效果:

body, .outside {
    background:#fff;
}
.inside {
    background:#ccf;
    box-shadow:0 -20px 20px 0px #fff inset; -moz-box-shadow:0 -20px 20px 0px #fff inset; -webkit-box-shadow:0 -20px 20px 0px #fff inset;
    height:100px;
    overflow:auto;
    width:200px;
}

答案 1 :(得分:1)

你可以尝试这样的事情

#outside {
    background-image: -webkit-gradient(
      linear, right top, left top, from(rgba(255, 255, 255, 1.0)),
      to(rgba(255, 255, 255, 0))
    );

    background-image: -moz-linear-gradient(
      right center,
      rgba(255, 255, 255, 1.0) 20%, rgba(255, 255, 255, 0) 95%
    );
}

如果您需要多个渐变,则可能必须使用色标,并且您可以使用此工具执行此操作。 http://gradients.glrzad.com/

完成选择后,复制代码并用rgba()替换rgb(),再添加1个值(在本例中为不透明度)。使用0表示完全透明。

祝你好运!

答案 2 :(得分:1)

另一个答案,不是使用CSS3,但我确信这是你正在寻找的效果: http://www.cssplay.co.uk/menu/fade_scroll使用PNG / GIF而不是新的CSS属性,但它可以在浏览器中使用IE5。

答案 3 :(得分:0)

您可以使用其他元素包围内部div,以便在正确的方向上呈现正确的渐变。