我要做的是同时展示background-color
和background-image
,以便div
的一半覆盖正确的阴影背景图像,另一部分将覆盖背景颜色。
但是当我使用background-image
时,颜色会消失。
答案 0 :(得分:291)
完全可以同时使用颜色和图像作为元素的背景。
您设置了background-color
和background-image
样式。如果图像小于元素,则需要使用background-position
样式将其放置在右侧,并防止重复覆盖整个背景,并使用background-repeat
样式:
background-color: green;
background-image: url(images/shadow.gif);
background-position: right;
background-repeat: no-repeat;
或使用复合样式background
:
background: green url(images/shadow.gif) right no-repeat;
如果您使用复合样式background
分别设置两者,则只会使用最后一个,这是您的颜色不可见的一个可能原因:
background: green; /* will be ignored */
background: url(images/shadow.gif) right no-repeat;
无法专门限制背景图像仅覆盖元素的一部分,因此您必须确保图像小于元素,或者它具有任何透明区域,背景颜色为可见。
答案 1 :(得分:28)
使用
background:red url(../images/samle.jpg) no-repeat left top;
答案 2 :(得分:28)
要为图像着色,您可以使用CSS3 background
来堆叠图像和linear-gradient
。在下面的示例中,我使用没有实际渐变的linear-gradient
。浏览器将渐变视为图像(我认为它实际上会生成位图并覆盖它),因此实际上是堆叠多个图像。
background: linear-gradient(0deg, rgba(2,173,231,0.5), rgba(2,173,231,0.5)), url(images/mba-grid-5px-bg.png) repeat;
如果你有png,会产生浅蓝色的图纸。请注意,堆叠顺序可能与您的心理模型相反,第一个项目位于顶部。
Mozilla的优秀文档,在这里:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_multiple_backgrounds
构建渐变的工具:
http://www.colorzilla.com/gradient-editor/
注意 - 在IE11中不起作用!当我发现原因时,我会发布更新,因为它应该是。
答案 3 :(得分:12)
要添加到this答案,请确保图片本身具有透明背景。
答案 4 :(得分:1)
以下是一起使用background-image
和background-color
的示例:
.box {
background-image: repeating-linear-gradient( -45deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .2) 15px, transparent 15px, transparent 30px);
width: 100px;
height: 100px;
margin: 10px 0 0 10px;
display: inline-block;
}
<div class="box" style="background-color:orange"></div>
<div class="box" style="background-color:green"></div>
<div class="box" style="background-color:blue"></div>
答案 5 :(得分:1)
实际上,有一种方法可以将背景色与背景图像一起使用。在这种情况下,背景部分将填充为指定的颜色,而不是白色/透明的颜色。
要实现这一点,您需要像这样设置from PyPDF2 import PdfFileMerger, PdfFileReader, PdfFileWriter
import os
import glob
class MergeAllPDF:
def __init__(self):
self.mergelist = []
def create(self, filepath, outpath, outfilename):
self.outfilname = outfilename
self.filepath = filepath
self.outpath = outpath
self.pdfs = glob.glob(self.filepath)
self.myrange = len(self.pdfs)
for _ in range(self.myrange):
if self.pdfs:
self.mergelist.append(self.pdfs.pop(0))
self.merge()
def merge(self):
if self.mergelist:
self.merger = PdfFileMerger()
for pdf in self.mergelist:
self.merger.append(open(pdf, 'rb'))
self.merger.write(self.outpath + "%s.pdf" % (self.outfilname))
self.merger.close()
self.mergelist = []
else:
print("mergelist is empty please check your input path")
# example how to use
#update your path here:
inpath = r"C:\Users\Fabian\Desktop\mergeallpdfs\scan\*.pdf" #here are your single page pdfs stored
outpath = r"C:\Users\Fabian\Desktop\mergeallpdfs\output\\" #here your merged pdf will be stored
b = MergeAllPDF()
b.create(inpath, outpath, "mergedpdf")
属性:
background
注意.bg-image-with-color {
background: url("example.png") no-repeat, #ff0000;
}
之后的逗号和颜色代码;这将设置您想要的背景颜色。
我在this YouTube video中发现了此内容,但是我与该频道或视频无关。
答案 6 :(得分:0)
使图像的一半透明,以便通过它看到背景颜色。
否则只需添加另一个div占据容器div的50%并向左或向右浮动。然后将图像或颜色应用于它。
答案 7 :(得分:0)
Gecko有一个奇怪的错误,设置background-color
选择器的html
将覆盖body元素的background-image
,即使body
元素 in效果具有更大的z-index,应能够看到正文background-image
以及基于html
background-color
的{{1}}纯粹基于简单的逻辑。
Gecko Bug
避免以下情况......
html {background-color: #fff;}
body {background-image: url(example.png);}
解决方法
body {background-color: #fff; background-image: url(example.png);}
答案 8 :(得分:0)
大家好,我尝试了另一种方法将背景图像和背景颜色组合在一起:
HTML
<article><canvas id="color"></canvas></article>
CSS
article {
height: 490px;
background: url("Your IMAGE") no-repeat center cover;
opacity:1;
}
canvas{
width: 100%;
height: 490px;
opacity: 0.9;
}
JAVASCRIPT
window.onload = init();
var canvas, ctx;
function init(){
canvas = document.getElementeById('color');
ctx = canvas.getContext('2d');
ctx.save();
ctx.fillstyle = '#00833d';
ctx.fillRect(0,0,490,490);ctx.restore();
}
如果它适合您,请告诉我 感谢
答案 9 :(得分:-3)
background:url(directoryName/imageName.extention) bottom left no-repeat;
background-color: red;