css – 多个背景图像和背景颜色

前端之家收集整理的这篇文章主要介绍了css – 多个背景图像和背景颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我想在CSS中渲染一个箭头,它应该有一个头,尾和灵活的宽度,因此它可以包含文本.我当然可以创建多个div来获得我想要的东西,但是如何才能在 CSS3中完成?

我可以使用多个背景图片

div.arrow{
    background: url('arrowtail.png') left no-repeat,url('arrowhead.png') right no-repeat;
}

html:

<div class="arrow">This text is on a transparent background</div>

这给了我一个带箭头和尾巴的div,以及一个透明的中间部分.
中间部分的颜色似乎不可能.

只有一个背景图像,您可以这样做:

div.arrow{ background: red url('some_image.png') no-repeat; }

我知道这是可行的很多方法,但背景颜色的属性真的从速记定义?

解决方法

不,速记声明并不完全失去.您仍然可以指定背景颜色,但仅适用于最后(中间)图层(无论是否在其中放置图像):
div.arrow {
    background: url('arrowtail.png') left no-repeat,url('arrowhead.png') right no-repeat,red;
}

请注意,对于您的场景,您的图像可能必须具有完全不透明的背景.背景颜色将显示在图像的任何透明像素下.

jsFiddle demo

然而,单独声明背景颜色可能会比您的场景好多了,因为它可以让您根据相同的背景图像使用不同的颜色(如果您的图像部分上的透明像素可以填充CSS背景)颜色):

div.arrow {
    background: url('arrowtail.png') left no-repeat,url('arrowhead.png') right no-repeat;
}

/* Assuming your red arrow has this ID */
#red {
    background-color: red;
}

jsFiddle demo

原文链接:https://www.f2er.com/css/214215.html

猜你在找的CSS相关文章