我有一组div,我希望每个div都有不同的背景颜色,当鼠标悬停时,切换到所选url的背景图片。到目前为止,我已经设法找到了平滑的颜色-〉图像过渡的代码,但这需要一个实际的HTML img代码,我需要这些div,因为我将把它们的文本。有没有机会顺利0。5s或更少用CSS从背景颜色过渡到背景图像?
t40tm48m1#
您不能使用CSS3转换将background属性从纯色设置为图像。要实现所需的行为,您将需要淡入/淡出一个层与您的固体背景颜色。您可以使用伪元素来最小化纯色latyer层的标记。下面是一个例子:
background
div { position: relative; width: 250px; height: 250px; background: url(https://picsum.photos/250); } div:after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: gold; opacity: 1; transition: opacity .5s; } div:hover:after { opacity: 0; }
<div></div>
kulphzqa2#
这应该让你开始= FIDDLE。你也可以使用JS,但这不是必须的。CSS
.changeme { margin: 10px auto; width: 200px; height: 200px; background-color: red; text-align: center; line-height: 200px; color: blue; font-size: 30px; } .changeme:hover { background-color: transparent; background: url('http://i.imgur.com/DgYUsKY.jpg?1'); } .changeme2 { margin: 10px auto; width: 200px; height: 200px; background-color: blue; text-align: center; line-height: 200px; color: white; font-size: 30px; } .changeme2:hover { background-color: transparent; background: url('http://i.imgur.com/BF7aTQR.jpg'); }
2条答案
按热度按时间t40tm48m1#
您不能使用CSS3转换将
background
属性从纯色设置为图像。要实现所需的行为,您将需要淡入/淡出一个层与您的固体背景颜色。您可以使用伪元素来最小化纯色latyer层的标记。
下面是一个例子:
kulphzqa2#
这应该让你开始= FIDDLE。
你也可以使用JS,但这不是必须的。
CSS