se compone de un archivo index.php que recoge el sistema, un archivo rating.css que recoge su funcionamiento visual en css y una conexión a la base de datos que obviaré porque para el problema que me ocupa no tiene relevancia. Bien. el sistema de estrellas sería este:
Código PHP:
<ul class="star-rating">
<li class="current-rating" style="width:75px;"> </li>
<li><a href="#" title="Pasable" class="one-star">1</a></li>
<li><a href="#" title="No está mal" class="two-stars">2</a></li>
<li><a href="#" title="Me gusta" class="three-stars">3</a></li>
<li><a href="#" title="Está Genial" class="four-stars">4</a></li>
<li><a href="#" title="Sobresaliente" class="five-stars">5</a></li>
</ul>
Código PHP:
/* estilos para el sistema de rating mediante estrellitas */
.star-rating{
list-style:none;
margin: 0px;
padding:0px;
width: 125px;
height: 25px;
position: relative;
overflow:hidden;
background: url(../imagenes/alt_star.gif) top left repeat-x;
}
.star-rating li{
padding:0px;
margin:0px;
width:25px;
height:25px;
/*\*/
float: left;
/* */
}
.star-rating li a{
display:block;
width:25px;
height: 25px;
line-height:25px;
text-decoration: none;
text-indent: -9000px;
z-index: 20;
position: absolute;
padding: 0px;
overflow:hidden;
}
.star-rating li a:hover{
background: url(../imagenes/alt_star.gif) left bottom;
z-index: 2;
left: 0px;
border:none;
}
.star-rating a.one-star{
left: 0px;
}
.star-rating a.one-star:hover{
width:25px;
}
.star-rating a.two-stars{
left:25px;
}
.star-rating a.two-stars:hover{
width: 50px;
}
.star-rating a.three-stars{
left: 50px;
}
.star-rating a.three-stars:hover{
width: 75px;
}
.star-rating a.four-stars{
left: 75px;
}
.star-rating a.four-stars:hover{
width: 100px;
}
.star-rating a.five-stars{
left: 100px;
}
.star-rating a.five-stars:hover{
width: 125px;
}
.star-rating li.current-rating{
background: url(../imagenes/alt_star.gif) left center;
position: absolute;
height: 25px;
display: block;
text-indent: -9000px;
z-index: 1;
}
/* elimina el efecto outline en firefox */
a:active{
outline: none;
}
Pero el problema viene en la primera línea del código de las estrellas. Si observan, hace referencia a
Código PHP:
<li class="current-rating" style="width:75px;"> </li>
esta puntuación actual lo que provoca es que se fijen de color rojo las estrellas hasta esa puntuación actual y a la vez, permitan seguir iluminándose las estrellas cuando pasan el puntero sobre ellas. pues bien. esta puntuación actual está recogida en el css mediante la clase "current-rating", que sorpresivamente no es ejecutada por ie. sabe alguien como hacer para que ie la reconozca?
gracias a todos