当前位置: 首页 > 面试题库 >

多个背景图像和背景颜色

宋俊民
2023-03-14
问题内容

假设我要在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;
}

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

background- color但是,单独声明可能会更好,因为它可以让您基于相同的背景图像使用不同的颜色(如果可以用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;
}


 类似资料:
  • 下面的外部CSS页面示例中的快速简单问题; 我知道它们会影响不同的元素选择器,我的问题是使用背景和背景图像有什么区别?一方可以访问另一方的特定属性吗?谢谢你。

  • 在超文本标记语言中,我什么时候使用颜色,背景颜色和背景标签有什么区别? 有什么区别?

  • background(int $color, int $pattern = self::PATTERN_SOLID): self int $color $format = new \Vtiful\Kernel\Format($fileHandle); ​ $backgroundStyle = $format->background( \Vtiful\Kernel\Format::COLO

  • 使用指定背景颜色和指定背景颜色有什么区别? 片段#1 片段#2

  • 问题内容: 是否可以在Internet选项的“高级”选项卡中不启用“打印背景色和图像”的情况下打印背景图像? 我认为可以使用没有“背景图像”的替代方法…使用div标签和绝对位置可以模拟背景图像的相同效果吗?我也想在页面上重复背景图像。 问题答案: 打印背景图像(在标记中指定为背景图像的那些图像)的能力完全取决于最终用户,您无法从代码中以编程方式控制此功能。Firefox的一个插件提供了JavaSc

  • 除了背景颜色,也可以使用背景图像来实现各种复杂、有趣的背景效果。CSS中,使用 background-image属性来定义背景图像的路径,取值为 none | url,默认值为 none。 url 可以是相对路径,也可以是绝对路径。使用相对路径时,url 是相对于 css 所在的文件,而不是要设置样式的HTML文件。如,下面代码表示,使用 css 文件所在目录下的 img 文件夹下的图像 bg.g