当您将鼠标悬停在四个缩略图中的一个缩略图上时,我会尝试制作下拉列表,从下方显示“标题标题”而不是图像顶部。
我一直在摆弄CSS,但没有运气,因为我几乎没有任何JS经验,我不知道是不是需要编辑的JS而不是CSS!
Yuu可以在style.css的最底部找到CSS
我认为这对于这里的人来说可能是一个快速而简单的问题!
另外,当我在这里时,我也可以问一下是否有人知道动画运动图像的更好方法 - 我目前正在使用CSS3 @keyframes,但在某些浏览器中它有点不稳定。
<div class="grid-block-container">
<div class="grid-block slide">
<div class="caption1">
<h3>Caption Title</h3>
</div>
<div class="caption">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<p><a href="#" class="learn-more">Learn more</a></p>
</div>
<img src="img/1.jpg" alt="nebula">
</div>
</div>
.grid-block-container {
width: 100%;
margin: 0;
}
.grid-block {
position: relative;
width: 100%;
}
.caption1 {
display: block;
position: absolute;
top: 0;
left: 0;
background: rgba(246,48,62,0.7);
width: 100%;
padding-bottom: 15px;
}
.caption {
display: none;
position: absolute;
top: 0;
left: 0;
background: rgba(246,48,62,0.7);
width: 100%;
border-bottom: 1px solid #ffffff;
padding-bottom: 15px;
}
.caption1 h3, .caption p {
color: #ffffff;
margin: 20px;
}
.caption1 h3 {
margin: 20px 20px 10px;
}
.caption p {
font-size: .9em;
line-height: 1.5em;
margin: 0 20px 15px;
}
.caption a.learn-more {
padding: 5px 10px;
background: #f6303e;
color: #fff;
border-radius: 2px;
-moz-border-radius: 2px;
font-weight: bold;
text-decoration: none;
}
.caption a.learn-more:hover {
background: #fff;
color: #f6303e;
}
<script type="text/javascript">
$(document).ready(function() {
$('.standard').hover(
function(){
$(this).find('.caption').show();
},
function(){
$(this).find('.caption').hide();
}
);
$('.fade').hover(
function(){
$(this).find('.caption').fadeIn(250);
},
function(){
$(this).find('.caption').fadeOut(250);
}
);
$('.slide').hover(
function(){
$(this).find('.caption').slideDown(200);
},
function(){
$(this).find('.caption').slideUp(200);
}
);
});
</script>
答案 0 :(得分:0)
将.caption div更改为以下
.caption {display: none; position: absolute; bottom: 0; left: 0; background:rgba(246,48,62,0.7); width: 100%; border-bottom: 1px solid #ffffff; padding-bottom: 15px; }
所有这一切都是删除顶部:0;样式到底:0;
见下面的截图:
答案 1 :(得分:0)
更改您的CSS
以显示此信息:
.caption {
display: none;
position: absolute;
top: 71px;
left: 0;
background: rgba(246,48,62,0.7);
width: 100%;
border-bottom: 1px solid #ffffff;
padding-bottom: 15px;
}
如果标题标题只在一行上,则将其放在标题标题下面。见下面的截图:
为了让它能够动态地进行更改,您需要使用这段代码更改jQuery
以使其适用于所有这些:
$('.slide').each(function() {
var titleHeight = $(this).find('.caption1').innerHeight();
$(this).find('.caption').css('top', titleHeight + 'px');
});
这将遍历名为slide的类中的每个元素,获取标题高度,然后更改标题文本以适应它。
答案 2 :(得分:0)
只能用css(davidb回答),但如果你想要一个jquery版本,你可以这样做:
$('.grid-block').hover(function(){
$(this).find('.caption').slideDown();
},function(){
$(this).find('.caption').slideUp();
});
还将.caption
样式top
更改为bottom
:0;