0

我正在处理使用内联样式放置的背景图像,该图像具有覆盖图像的红色色调。

当红色覆盖内容时会出现问题。

如何使红色调在按钮和文本下方?

请参阅JS Fiddle

感谢帮助

#cover-wrap {
  position: relative;
}
#cover-wrap .black-cover {
  background-color: rgba(255, 0, 0, 0.5);
  position: absolute;
  top: 0px;
  width: 100%;
  height: 100%;
}
#backgrond-cover {
  background-color: #37383a;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  padding: 50px;
  color: #fff;
  position: relative;
}
#backgrond-cover .username {
  font-weight: bold;
  margin-top: 10px;
}
#backgrond-cover .location {
  font-size: 14px;
}
#backgrond-cover .summary {
  font-size: 14px;
  margin-bottom: 20px;
}
4

5 回答 5

1

试试这个一次..我带来了一些你想要的改变。

<div id="cover-wrap">
 <div class="black-cover"></div>  
    <div id="background-cover" class="center">
          <div id='box'>  
          <img src="img/people/heyfitty-girl-9.png" class="main-profile-pic img-circle"/>
              <p class='username'>Cloud #3</p>
              <p class="location">Birmingham</p>
              <p class="summary">Hi, im Paul, Designer / Developer rocking out in Bham</p>

            <button class="cheeky-kiss-btn">Cheeky Kiss</button><span class="or">or</span>

            <button class="hangout-btn">Hang out</button>
          </div>
    </div>
</div>
  <!-- html ends here -->

  <!-- css looks like this -->


 #cover-wrap
    {
      position: absolute;
      width: 1350px;
    }
 .black-cover 
    {
      background-color: rgba(255, 0, 0, 0.5);
      position: absolute;
      width: 100%;
      height: 100%;
    }
 #backgrond-cover 
    {
      background-color: #37383a;
      -webkit-background-size: cover;
      -moz-background-size: cover;
      -o-background-size: cover;
       background-size: cover;
       padding: 50px;
       color: #fff;
       background-image: url('http://upload.wikimedia.org/wikipedia/commons/0/05/20100726_Kalamitsi_Beach_Ionian_Sea_Lefkada_island_Greece.jpg');
      display: inline-block;
      height: 100%;
      width:92.6%;
    } 

 #box  
    {
       position: relative;
    }
 #backgrond-cover .username 
    {
       font-weight: bold;
       margin-top: 20px;
    }
 #backgrond-cover .location 
    {
       font-size: 14px;
    }
 #backgrond-cover .summary {
       font-size: 14px;
       margin-bottom: 20px;
    }
   /*css ends here */
于 2014-11-25T20:55:09.550 回答
1

如果您希望按钮位于覆盖的红色色调之上。然后将按钮移动到红色色调的平面上方。

要实现这一点,您需要为按钮提供 z 索引(想象图中的 z 轴)正值将其置于上方,负值将其向下推送。但是要给出 z 轴的相对定位,您还必须将 css 位置指定为相对

将此CSS添加到代码的底部...

   button{
       position:relative;
       z-index:10;
   }

现在这将针对页面中的所有按钮。如果您只想定位特定按钮,请为按钮指定 id 或类。

您的代码中还有一个未闭合的段落标记</p>。不确定您是否有复制粘贴错误

于 2014-11-25T19:18:20.057 回答
0

只需添加这个

#backgrond-cover p, #backgrond-cover span, #backgrond-cover button, #backgrond-cover img {
  position: relative;
    z-index: 20;
}

并添加z-index: 10;#cover-wrap .black-cover. 应该做的伎俩。

于 2014-11-27T14:19:00.283 回答
0

抱歉没有阅读问题。我已经更新了它现在正在工作。您需要在红色渐变上方的所有元素上设置 z-index,或者就像我将所有元素包装在一个 div 中并将其定位在渐变上方一样。注意,需要在所有要使用 z-index 的元素上定位。

http://jsfiddle.net/MatrixMe/8pmdzms8/1/

HTML

http://upload.wikimedia.org/wikipedia/commons/0/05/20100726_Kalamitsi_Beach_Ionian_Sea_Lefkada_island_Greece.jpg')">

      <div class="content-wrapper">
          <img src="img/people/heyfitty-girl-9.png" class="main-profile-pic img-circle"/>
        <p class="username">Cloud #3<p>
        <p class="location">Birmingham</p>
        <p class="summary">Hi, im Paul, Designer / Developer rocking out in Bham</p>
        <button class="cheeky-kiss-btn">Cheeky Kiss</button><span class="or">or</span>
        <button class="hangout-btn">Hang out</button>   
     </div>        
      <div class="black-cover"></div>        

CSS

/*Cover Info*/
#cover-wrap {
  position: relative;
}
div.black-cover {
  background-color: rgba(255, 0, 0, 0.5);
  position: relative;
  top: 0px;
  z-index: 10;
  width: 100%;
  height: 100%;
}
.content-wrapper {
    position: absolute;
    z-index: 50;
    width: 100%;
    height: 100%;
    left: 20%;
    top: 20%;
    display: inline-block;
}
#backgrond-cover {
  background-color: #37383a;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  color: #fff;
  position: absolute;
  display: inline-block;
   z-index: -1;
  width: 100%;
  height: 300px; 
}
#backgrond-cover .username {
  font-weight: bold;
  margin-top: 10px;
}
#backgrond-cover .location {
  font-size: 14px;
}
#backgrond-cover .summary {
  font-size: 14px;
  margin-bottom: 20px;
}
于 2014-11-25T19:09:59.263 回答
0

如果您想通过使其绝对来创建覆盖但它覆盖了内容,那么您可以使用 z-index 。首先将容器的 z-index 设置为 1,然后将 z-index -1 添加到叠加层。这应该使叠加层放置在内容之下。

.item{
  background: url(https://d13yacurqjgara.cloudfront.net/users/13307/screenshots/1824627/logotypes_1x.jpg);
  background-size: cover;
  
  width: 300px;
  height: 300px;
  position: relative;
  z-index:1;
}
h1{color: white}
.item:after{
  content:"";
  background: rgba(255,0,0,.5);
  position: absolute;
  top: 0;
  bottom:0;
  left:0;
  right: 0;
  z-index:-1;
}
<div class="item">
  <h1> content here</h1>
</div>

上面的代码片段是利用 after 伪元素来制作覆盖而不是使用另一个 HTML 标记。

我已经重组了你的代码,删除了不必要的标签,你可以在这里查看http://jsfiddle.net/rzp318kb/6/

于 2014-11-27T13:47:58.853 回答