我正在尝试制作一些滑动字幕,例如Mosaic,但更轻。在所有主流浏览器中,一切看起来都很好(即使它在ie8中看起来很慢),但在ie7中没有任何反应。 我正在使用ieTester进行测试,我不知道该错误是来自软件还是来自我的代码。 我相信你会有一些提示来帮助我改进它!
非常感谢。
HTML:
<div class="imgbox">
<img src="#" />
<a href="#" class="caption">
<div class="details">
<h6>Lorem ipsum</h6>
<p>Lorem ipsum dolor sit amet,…</p>
</div>
</a>
</div>
CSS:
.imgbox{
width: 204px;
height: 154px;
position: relative;
overflow: hidden;
float: left;
margin: 10px;
border:1px solid #999;
-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.8);
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);}
.imgbox img{
width: 200px;
height: 150px;
padding: 2px;
overflow: hidden;}
.caption{
display:block;
position:absolute;
top:104px;
height:100%;
width:100%;
background: rgb(0,0,0);
background: rgba(0,0,0,0.6);
background: transparent\9;
zoom: 1;
-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);}
JS:
$(".imgbox").hover(
function()
{$(this).children('.caption').animate({top:0},"fast");},
function()
{$(this).children('.caption').animate({top:104},"fast");}
);
答案 0 :(得分:0)
您的HTML代码无效。 a
元素是内联元素,不能包含div
等块元素。浏览器有不同的方法来处理不正确的标记,并可能重新排列或忽略某些标记以创建有效的元素。
在链接中放入内联元素以便正确解析它们,然后您可以使用CSS将它们转换为块元素:
<div class="imgbox">
<img src="#" />
<a href="#" class="caption">
<spap class="details">
<span class="h6">Lorem ipsum</span>
<span class="p">Lorem ipsum dolor sit amet,…</span>
</span>
</a>
</div>
CSS:
.imgbox a, .imgbox .details, .imgbox .h6, .imgbox .p { display: block; }
CSS代码中也有一些黑客可能不会与IE7完全兼容。您可以注释掉其中一些,以测试它们是否会导致问题。
答案 1 :(得分:0)
我发现它来自标题的位置。我设置了一个顶部位置,但没有定义任何左或右位置。 有了这段代码,它现在出现在ie7:
.caption{
display:block;
position:absolute;
top:104px;
left:0;
height:100%;
width:100%;
但在ie8和ie7上它仍然很慢。 无论如何,问题解决了!