Introducción
Usted no necesita más de una imagen para tener 0-5 grados de la estrella.
Todo lo que necesitas es una imagen única, con dos estados diferentes, algunos [sigla = hojas de estilo en cascada: 26stbdfv] CSS [/acronym] , Y la misma lógica que debería usar para la configuración de multi-imagen basado en calificaciones en el backend.
Clasificación de la imagen
Ive adjunto una imagen con algunas estrellas simple en dos estados, que albergará 0-5 estrellas. Las dimensiones del bloque de clasificación se 100x20 que las obras a 20px por 20px estrellas y hace que la imagen de 200x20.
There is no copyright on this image, I made it specially for this tutorial and you are free to use it for any purpose other than assigning ranks to an army of mutant beavers.
Clases CSS
Ahora bien, como puntuaciones son en general algo que será utilizada numerosas veces en la misma página, queremos utilizar las clases de nuestra [= sigla hojas de estilo en cascada: 26stbdfv] CSS [/acronym] selectores. A continuación tengo una base de "estrellas" de clase con los atributos comunes de cada categoría, y 5 sub-clases que me dan un total de 6 valoraciones diferentes. (0-5)
Simplemente cambia el fondo la posición de la imagen a la izquierda, que pone una de las estrellas fuera del estado fuera de la vista de la izquierda y trae en una de las estrellas de estado en vista de la derecha.
.stars, .stars0
{
background: transparent url("stars.png") no-repeat top left;
width:100px;
height:20px;
float:left;
display:block;
margin: 5px;
}
.stars1 {background-position:-20px;}
.stars2 {background-position:-40px;}
.stars3 {background-position:-60px;}
.stars4 {background-position:-80px;}
.stars5 {background-position:-100px;}
- .stars, .stars0
- {
- background: transparent url("stars.png") no-repeat top left;
- width:100px;
- height:20px;
- float:left;
- display:block;
- margin: 5px;
- }
- .stars1 {background-position:-20px;}
- .stars2 {background-position:-40px;}
- .stars3 {background-position:-60px;}
- .stars4 {background-position:-80px;}
- .stars5 {background-position:-100px;}
Con su configuración como que todo lo que necesita tener el backend hacer es salir un número en el = [sigla Hyper Text Markup Language: 26stbdfv] HTML [/acronym] utilizando [sigla = Hypertext PreProcessor: 26stbdfv] PHP [/acronym] / [sigla = Active Server Pages: 26stbdfv] ASP [/acronym] / [sigla = ColdFusion Markup Language: 26stbdfv] CFML [/acronym] / etc es necesario sin embargo para muchas estrellas.
Elemento HTML
Éstos son ejemplos de lo que cada uno estrellas [sigla = Hyper Text Markup Language: 26stbdfv] HTML [/acronym] Parece que cuando se utilicen en su.
<div class="stars stars0"></div>
<div class="stars stars1"></div>
<div class="stars stars2"></div>
<div class="stars stars3"></div>
<div class="stars stars4"></div>
<div class="stars stars5"></div>
- <div class="stars stars0"></div>
- <div class="stars stars1"></div>
- <div class="stars stars2"></div>
- <div class="stars stars3"></div>
- <div class="stars stars4"></div>
- <div class="stars stars5"></div>
Podría salirse con la suya no usar un stars0 clase y sólo con la clase base de estrellas cuando no hay estrellas para la calificación, pero después de que el cero de clase simplifica la operación de back-end de modo que sólo tiene salida a un número.
<div class="stars stars<?php echo round($rating); ?>"></div>
Conclusión
Ahí lo tienes. 5 estrellas, una imagen. Un poco más [sigla = hojas de estilo en cascada: 26stbdfv] CSS [/acronym] necesaria de lo normal <img> solución basada, pero una quinta parte de las imágenes y las posibles conexiones con el servidor y [= sigla Hyper Text Markup Language: 26stbdfv] HTML [/acronym] que realmente no es más complicado.
Patience.