作業中の Rails アプリケーションのロールオーバー イメージ効果の作成を開始しました。私は twitter-bootstrap-rails gem を使用して、デバイス間でアプリケーションの見栄えを良くしています。私が現在の実装で抱えている問題は、ブラウザーのサイズを変更すると、画像がブラウザーの幅に合わせてサイズ変更されなくなり、ロールオーバー効果が画像の境界から外れることです。問題はクラスに起因すると思います.photo
が、それを修正する方法がわからない、または目的の結果を実装するためのより良い方法があるかどうかはわかりませんか?
HTML
<% @photos.each do |photo| %>
<div class="photo row">
<div class="span8 photo"><%= image_tag photo.image_url(:large).to_s %></div>
<div class="span4 hover">
<div class="bg"></div>
<div class="description">
<h4><%= link_to photo.title, photo_path(photo) %></h4>
<hr>
<p><%= raw photo.tag_list.map { |t| link_to t, tag_path(t)}.join(' ') %></p>
</div>
</div>
</div>
<% end %>
CSS:
.photo {
position: relative;
width: 770px;
}
.photo .hover {
position: absolute;;
height: 90.4%;
left: 3.09%;
top: 4.8%;
width: 93.82%;
display: none;
}
.photo .hover .bg {
z-index: 1;
position: absolute;
height: 100%;
width: 100%;
background: #FFF;
-webkit-opacity: 0.8;
-moz-opacity: 0.8;
filter:alpha(opacity=80);
opacity: 0.8;
}
.photo .hover .description {
position: relative;
text-align: center;
top: 40%;
z-index: 2;
}
JS
jQuery(document).ready(function($) {
$(".photo").mouseenter(function () {
$(this).find('.hover').fadeIn(300);
}).mouseleave(function (){
$(this).find('.hover').stop(true, true).fadeOut(300);
});
}); /* End Dom Ready */