在背景颜色上应用渐变CSS

时间:2013-02-27 12:08:29

标签: css3 gradient opacity css

我希望有一个纯色背景颜色,并在其上面有一个具有一定不透明度的渐变。这样它似乎是一种背景颜色,在它上面有一个渐变的效果。

这是我的HTML:

<article>
    <a href="" class="article">
      <h2>Title<i></i></h2>
      <img src="images/media-examples/pic1.jpg">
    </a>
</article>

我想将其应用于标题以创建如下内容:

enter image description here

2 个答案:

答案 0 :(得分:5)

根据示例判断,您不需要渐变。您只需要一个具有不透明度的覆盖元素。所以

HTML

<div id="element">
 <div id="overlay">
 <h2>H2 Title</h2>
 </div>
</div>

CSS

#element {background:url('image.jpg');}
#overlay {background:rgba(0, 0, 0, 0.5);}

我不会更详细地介绍你需要一个教程而且你需要尝试它,然后在出错时寻求帮助。尝试搜索互联网,网上会有很多教程。

<强>更新 要使用现有的HTML,请尝试应用此CSS

article {width:300px;}
article img {position:fixed; top:0; border:3px solid #253d8e; z-index:99;}
article h2 {z-index:999; position:fixed; top:0; color:#fff; background:rgba(0, 0, 0, 0.5); width:290px; display:inline-block;margin:0; padding-top:10px; padding-bottom:10px; padding-left:10px;}

您需要更新此内容以满足您的需求,但应该给您一个想法。看到它正常工作here on jsfiddle

答案 1 :(得分:0)

我会在具有不透明度背景的图像上添加另一个元素...这样您就可以轻松控制所有属性。

您还可以将两个背景应用于同一元素或使用伪元素 像这里:http://nicolasgallagher.com/multiple-backgrounds-and-borders-with-css2/

编辑:对不起,蒂姆只是用相同但更详细的叠加元素答案更快一点=) 但现在我只想要其他两个建议的一些功劳; - )