Фоновое изображение с наложением обложки.
Я работаю над фоновым изображением, которое размещено со встроенным стилем и имеет красный оттенок, накладывающийся на изображение.
Проблема возникает, когда красный оттенок покрывает содержимое.
Как сделать, чтобы красный оттенок шел под кнопками и текстом?
Пожалуйста, смотрите 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;
}
5 ответов
Попробуйте это.. я внес некоторые изменения, которые делают то, что вы хотите.
<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 */
Если вы хотите, чтобы кнопки были поверх наложения красного оттенка. затем переместите кнопки над плоскостью красного оттенка.
чтобы добиться этого, вам нужно присвоить кнопке z-индекс (представьте ось z на графике), положительное значение поднимает ее выше, а отрицательное значение толкает вниз. Но чтобы дать относительное положение оси z, вы также должны указать положение css относительно
добавить эту CSS в конец вашего кода...
button{
position:relative;
z-index:10;
}
теперь это будет предназначаться для всех кнопок на странице. Если вы хотите настроить таргетинг только на определенные кнопки, присвойте кнопкам идентификатор или класс.
Также в вашем коде есть закрытый тег абзаца p >. Не уверен, что у вас была ошибка вставки копии или нет
Просто добавь это
#backgrond-cover p, #backgrond-cover span, #backgrond-cover button, #backgrond-cover img {
position: relative;
z-index: 20;
}
и добавить z-index: 10;
в #cover-wrap .black-cover
, Должен сделать свое дело.
Если вы хотите создать оверлей, сделав его абсолютным, но охватывая контент, тогда вы можете играть с 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/
Извините, не прочитал вопрос. Я обновил с этим сейчас работает. Вам нужно установить z-индекс на всех элементах, которые вы хотите, выше красного града, или, как я сделал, оберните их все в элемент 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;
}