我叫 Enrique,我在 Twitter Bootstrap 上遇到了 :hover 属性的问题。
我做了一个 5 星的评级系统,但是当一颗星“悬停”时,星星开始闪烁,真是一团糟
当我在没有任何脚本的情况下使用同一个系统时,它工作正常,这就是为什么我认为问题出在 Bootstrap 或 Jquery 上。
这是我正在开发的网站:http://apostilaz.pilha.inf.br/detalhaapostila
星星位于写有 (BAIXAR APOSTILA) 的绿色大按钮上方,我知道当它们为空时很难看到。
这是一个没有任何 JS 的相同代码的 jsfiddle 和下面的代码:
http://jsfiddle.net/EnriqueSampaio/kb9a8/
CSS
.avalia {
width: 90px;
height: 17px;
margin: 0 0 20px 0;
padding: 0;
list-style: none;
clear: both;
position: relative;
background: url(../img/estrelas.png) no-repeat 0 0;
}
.semestrela {
background-position: 0 0;
}
.umaestrela {
background-position: 0 -18px;
}
.duasestrelas {
background-position: 0 -36px;
}
.tresestrelas {
background-position: 0 -54px;
}
.quatroestrelas {
background-position: 0 -72px;
}
.cincoestrelas {
background-position: 0 -90px;
}
ul.avalia li {
cursor: pointer;
float: left;
text-indent: -999em;
}
ul.avalia li a {
position: absolute;
left: 0;
top: 0;
width: 18px;
height: 17px;
text-decoration: none;
z-index: 200;
}
ul.avalia li.uma a {
left: 0;
}
ul.avalia li.duas a {
left: 17px;
}
ul.avalia li.tres a {
left: 34px;
}
ul.avalia li.quatro a {
left: 51px;
}
ul.avalia li.cinco a {
left: 68px;
}
ul.avalia li a:hover {
z-index: 2;
width: 90px;
height: 17px;
overflow: hidden;
left: 0;
background: url(../img/estrelas.png) no-repeat 0 0;
transition:none !important;
}
ul.avalia li.uma a:hover {
background-position: 0 -18px;
}
ul.avalia li.duas a:hover {
background-position: 0 -36px;
}
ul.avalia li.tres a:hover {
background-position: 0 -54px;
}
ul.avalia li.quatro a:hover {
background-position: 0 -72px;
}
ul.avalia li.cinco a:hover {
background-position: 0 -90px;
}
HTML
<ul class="avalia semestrela">
<li class="uma"><a href="#fakelink" title="1 Estrela">1</a></li>
<li class="duas"><a href="#fakelink" title="2 Estrelas">2</a></li>
<li class="tres"><a href="#fakelink" title="3 Estrelas">3</a></li>
<li class="quatro"><a href="#fakelink" title="4 Estrelas">4</a></li>
<li class="cinco"><a href="#fakelink" title="5 Estrelas">5</a></li>
</ul>
谢谢!
最佳答案
稍微检查一下您的页面后,我发现您的脚本没有问题,问题出在其中一个 css 文件上。这个:
<link rel="stylesheet" type="text/css" href="http://apostilaz.pilha.inf.br/public/plugins/ui/css/flat-ui.css" media="all">
flat-ui.css
为 a
标签添加了特殊的 CSS:
a {
color: #16a085;
text-decoration: none;
-webkit-transition: 0.25s;
-moz-transition: 0.25s;
-o-transition: 0.25s;
transition: 0.25s;
-webkit-backface-visibility: hidden;
}
要使您的 :hover
星星正常工作,您需要删除 transition
属性,这是导致该行为的原因,您不能在不选择其他星星的情况下切换星星一。
PD:已使用 google chrome 检查器在您的页面上进行测试
关于javascript - Twitter Bootstrap 上的图像悬停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20289197/