separador primaria para numeros niños moneda miles leen formato ejercicios ejemplos decimales como clasificacion bootstrap html angularjs html5 css3 svg

html - primaria - numeros decimales ejercicios



Clasificación por estrellas con SVG para calificación de punto decimal (3)

Aquí está Fiddle with dots: http://jsfiddle.net/cnLHE/296/

Puede colocar un rectángulo debajo de los elementos enmascarados. En este violín, el rectángulo es ancho = 90, que es 90% (en la parte inferior).

<rect x="0" y="0" width="90" height="20" style="fill:#2498c7; mask: url(#mask5)"/>

Cambie el 90 a 55, por ejemplo, y el relleno subyacente reducirá el ancho.

Advertencia: eliminé este método porque no funcionaba bien con más de 20 instancias en la página. Por ejemplo, al cargar una grilla de productos calificados, el gráfico de calificaciones a veces desaparecería en Chrome. Los métodos de JS fueron más confiables.

Tengo un código para crear una clasificación de estrellas. No he usado SVG antes y no puedo encontrar la forma de hacerlo para que haga lo siguiente:

  • Calificación está fuera de 5
  • Mostrar clasificaciones con el lugar decimal, es decir: 4.5, 3.2, 1.1, así como estrellas enteras
  • Las estrellas clasificadas deben ser amarillas, las estrellas restantes deben ser grises

¿Cómo y qué cambio en el ejemplo para mover la clasificación de estrellas hacia la izquierda y hacia la derecha para obtenerlo? ¿Muestran las estrellas que sirven decimales?

Ejemplo de Fiddle: http://jsfiddle.net/apbuc773/10/

Código:

<svg height="210" width="500" fill="url(#g)"> <polygon points="165.000, 185.000, 188.511, 197.361, 184.021, 171.180, 203.042, 152.639, 176.756, 148.820, 165.000, 125.000, 153.244, 148.820, 126.958, 152.639, 145.979, 171.180, 141.489, 197.361, 165.000, 185.000" style="stroke: red;"/> <linearGradient y2="0.9733" x2="1" id="g" x1="0.0167" y1="0.9833"> <stop stop-color="#F00" offset="0.4733"/> <stop stop-color="rgb(255, 255, 255)" offset="0.5033"/> </linearGradient> </svg>

El código adjunto, ¿es todo esto necesario? Como habrá 5 estrellas en total, ¿puede simplificarse?

Gracias


Cambie los campos de desplazamiento de 0 (sin rellenar) a 1 (lleno) para mover la calificación.

No estoy seguro de por qué especifica el rojo de dos maneras diferentes o por qué tiene valores de compensación ligeramente diferentes.


Puede ajustar <linearGradient> con algunos JS simples. Ejemplo a continuación.

function setFraction(fraction) { document.getElementById("stop1").setAttribute("offset", fraction); document.getElementById("stop2").setAttribute("offset", fraction); } setFraction(0.4);

<svg height="210" width="500"> <polygon points="165.000, 185.000, 188.511, 197.361, 184.021, 171.180, 203.042, 152.639, 176.756, 148.820, 165.000, 125.000, 153.244, 148.820, 126.958, 152.639, 145.979, 171.180, 141.489, 197.361, 165.000, 185.000" style="stroke:red; fill:url(#g)"/> <linearGradient id="g" x1="0" y1="0" x2="1" y2="0"> <stop id="stop1" stop-color="#F00" offset="0.5"/> <stop id="stop2" stop-color="#fff" offset="0.5"/> </linearGradient> </svg>

Si quería evitar JS, podría crear 11 versiones diferentes de la estrella (sin rellenar, 0.1, 0.2 ... 0.9, llena) e incluir la correcta.