且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

CSS背景颜色转换向上滑动

更新时间:2022-10-19 13:30:42

为了向上滑动背景颜色,您需要使用背景图片或某种渐变,同时逐渐调整 background-position

  .box {
width:200px; height:100px;
background-size:100%200%;
background-image:linear-gradient(to bottom,red 50%,black 50%);
transition:background-position 1s;
}

.box:hover {
background-position:0 -100%;
}

您可以在这里看到这个演示:http://jsfiddle.net/as5ZU/


I am trying to change the background colour of a element on hover by using CSS transitions. I want to do this by having it scroll up from the bottom. I can fade the background in using this, but I would like it to slide up:

-webkit-transition: background-color 0.5s linear;
-moz-transition: background-color 0.5s linear;
-o-transition: background-color 0.5s linear;  
transition: background-color 0.5s linear;

Sorry I'm not very good at CSS.

One other thought, would it be better to scroll up a separate element with the background applied to it.

Thanks for any help

In order to slide the background color up you would need to use a background image, or a gradient of some sort, while gradually adjusting the background-position:

.box {
    width: 200px; height: 100px;
    background-size: 100% 200%;
    background-image: linear-gradient(to bottom, red 50%, black 50%);
    transition: background-position 1s;
}

.box:hover {
    background-position: 0 -100%;
}

You can see this demo here: http://jsfiddle.net/as5ZU/