我想要做的是显示background-color
和background-image
,这样我的div
的一半将覆盖右侧的阴影背景图像,另一个左侧部分将覆盖背景颜色。为什么我不能一起使用背景图像和颜色?
但是当我使用background-image
时,颜色消失。
我想要做的是显示background-color
和background-image
,这样我的div
的一半将覆盖右侧的阴影背景图像,另一个左侧部分将覆盖背景颜色。为什么我不能一起使用背景图像和颜色?
但是当我使用background-image
时,颜色消失。
完全可以将颜色和图像用作元素的背景。
您设置了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;
无法专门限制背景图像以仅覆盖元素的一部分,因此您必须确保图像小于元素或具有任何透明区域以用于背景颜色可见。
使用
background:red url(../images/samle.jpg) no-repeat left top;
使图像的一半透明,以便通过它看到背景颜色。
否则只需添加另一个div,占用容器div的50%,然后将其左右浮动。然后应用图像或颜色。
这里假设你的背景图像和包含div一样大。 – 2009-05-24 14:01:44
要为图像着色,可以使用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工作!我会在发现原因时发布更新,因为它应该这样做。
壁虎有一个奇怪的错误,其中用于html
选择会掩盖即使body
元素实际上有更大的z-index你应该能够看到body元素的background-image
设置background-color
身体的background-image
以及纯粹基于简单逻辑的html
background-color
。
壁虎错误
避免下列情况...
html {background-color: #fff;}
body {background-image: url(example.png);}
解决
body {background-color: #fff; background-image: url(example.png);}
background:url(directoryName/imageName.extention) bottom left no-repeat;
background-color: red;
下面是使用background-image
和的例子在一起:
.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>
大家好我尝试另一种方式来结合背景图片和背景颜色在一起:
HTML
<article><canvas id="color"></canvas></article>
CSS
article{height: 490px;background:url("Your IMAGE") no-repear center cover;opacity:1}
canvas{widht: 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();}
请让我知道,如果它的工作对你 感谢
什么是你的CSS代码? – outis 2009-05-24 12:23:20