Я пытаюсь снять этот эффект:
Серый - это место для изображений.
Моя цель заключалась в использовании градиента CSS (от белого до прозрачного) и отображения изображения ниже градиента. Образцом-заполнителем в конечном итоге станут сообщения, в которых будут отображаться изображения для темы wordpress. Вот почему я не использовал фоновое изображение.
Моя кодированная версия выглядит так: http://imgur.com/QWmdJSa
Я не уверен, как заставить его опуститься ниже градиента. Я пробовал использовать Z-индекс, но скрывал изображение за всем.
Вот как выглядит мой код:
HTML:
<article class="inlineContainer newsBox"><!-- Gradient is on newsBox class -->
<div class="details">
<div class="image">
<strong class="tag">Games</strong>
<img src="images/newsimg.jpg" alt="preview" /> <!-- Image I want Behind Gradient-->
</div>
</div>
<div class="post borderBox">
<h3><a href="">We will tell you everything about Aatrox New Champion</a></h3>
<p>Aliquam erat volutpat. Morbi a augue et velit congue faucibus. Quisque suscipit porta iaculis. Vivamus et elementum orci. Proin euismod ante nisi, vel consectetur massa dapibus id. Donec condimentum... Ut quis nisl at erat ultricies pellentesque at ut justo. </p>
<div class="bottom">
<div class="metaDetails">
<a class="author borderBox" href="">Doublelift</a>
<a class="comments borderBox" href="">1289 Comments</a>
</div>
<a class="readMore" href="">Read More</a>
</div>
</div>
</article>
CSS:
.newsBox {
border: 1px solid #bdccd3;
border-radius: 5px;
box-shadow: 0px 2px 3px 0px rgba(207, 218, 220, 1);
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1)));
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
}
.image {
height: 100%;
width: 160px;
margin: 0 auto;
position: relative;
background-color: grey;
}
.image img {
height: 261px;
width: 160px;
display: block;
}
Кто-то оставил ответ здесь, а затем с jsfiddle, а затем удалил его. Не знаю, почему, но это послало меня в правильном направлении.
Вот что я сделал:
z-index
изображения на -1.Это создает градиент над изображением, и он исчезает до белого цвета содержимого bg.
Он работает отлично. Спасибо, кто отправил это jsfiddle!
Я не знаю, нашли ли вы решение. У меня была аналогичная проблема, чем у вас, где я хотел поместить переход от прозрачного к белому в моей картине.
Используемый мной CSS
.gradient-effect{
position: relative;
display: block;
}
.gradient-effect::before{
content: '';
position: absolute;
left: 0;
bottom: -1px;
right: 0;
height: 30%;
background: linear-gradient(to bottom,rgba(255,255,255,0),#CCC) repeat left top;
}
И HTML это было так
<div class="gradient-effect">
<img class="img-responsive" src="images/my-image.jpg" alt="">
</div>
Я надеюсь, это поможет вам.