Los elementos HTML del, strikeo spueden ser usados para un texto tachado efecto. Ejemplos:
<del>del</del>
....da: del
<strike>strike</strike> and <s>strike</s>
.... da: huelga y huelga
La text-decorationpropiedad CSS con un valor line-throughpuede usarse de manera similar. El código...
<span style='text-decoration:line-through'>
text-decoration:line-through
</span>
... también se verá como: text-decoration: line-through
Sin embargo, la línea tachada es típicamente del mismo color que el texto.
¿Se puede usar CSS para hacer que la línea tenga un color diferente?

Respuestas:
Sí, agregando un elemento de envoltura adicional. Asigne el color de línea deseado a un elemento externo, luego el color de texto deseado al elemento interno. Por ejemplo:
...o...
(Tenga en cuenta, sin embargo, que
<strike>se considera obsoleto en HTML4 y obsoleto en HTML5 ( consulte también W3.org ). El enfoque recomendado es usar<del>si se pretende un verdadero significado de eliminación, o de lo contrario usar un<s>elemento o estilo context-decorationCSS como en el primer ejemplo aquí)Para hacer que el tachado aparezca para: hover, se
<HEAD>debe usar una hoja de estilo explícita (declarada o referenciada ). (La:hoverpseudoclase no se puede aplicar con atributos STYLE en línea). Por ejemplo:hrefse configuren<a>antes:hovertiene efecto; los navegadores basados en FF y WebKit no lo hacen).fuente
del { position:relative }y luegodel::after { content:'', position:absolute; top: 50%; left: 0; right:0; border-bottom: 1px solid #f00 }.A partir de febrero de 2016 , CSS 3 tiene el soporte mencionado a continuación. Aquí hay un fragmento de la página de un solo producto de WooCommerce con descuento de precio
Resultando en:
CSS 3 probablemente tendrá soporte directo usando la
text-decoration-colorpropiedad . En particular:Ver también
text-decoration-coloren el CSS 3 borrador de especificaciones .Si desea utilizar este método de inmediato, probablemente deba prefijarlo utilizando
-moz-text-decoration-color. (Especifíquelo también sin-moz-, para compatibilidad de reenvío).fuente
text-decoration-colorsin prefijos.He usado un
:afterelemento vacío y he decorado un borde en él. Incluso puede usar transformaciones CSS para rotarlo para una línea inclinada. Resultado: CSS puro, ¡sin elementos HTML adicionales! Desventaja: no se ajusta a través de varias líneas, aunque IMO no debería usar tachado en grandes bloques de texto de todos modos.fuente
Si no le interesa Internet Explorer \ edge, la forma más sencilla de lograr un color diferente para tachado sería utilizar la propiedad CSS: text-decoration-color junto con text-decoration: line-through;
- No funciona con Edge \ Internet Explorer
fuente
Este CSS3 hará que la línea de propiedad sea más fácil y funcione bien.
fuente
Agregando a @gojomo, podría usar el
:afterpseudo elemento para el elemento adicional. La única advertencia es que necesitarás definir tuinnerTexten undata-textatributo ya que CSS tienecontentfunciones limitadas .fuente
Aquí hay un enfoque que utiliza un gradiente para falsificar la línea. Funciona con ataques multilínea y no necesita elementos DOM adicionales. Pero como es un degradado de fondo, está detrás del texto ...
Ver violín: http://jsfiddle.net/YSvaY/
Las paradas de color de degradado y el tamaño del fondo dependen de la altura de la línea. (Utilicé MENOS para el cálculo y el Autoprefixer después ...)
fuente
Aqui tienes:
fuente
En mi experiencia el
No es la mejor opción. Tuve un compañero de trabajo que utilizó este método sin probar el navegador cruzado, así que tuve que volver y arreglarlo porque causaba problemas en Firefox. Mi recomendación personal sería usar el selector: after para crear un tachado. De esa manera, puede volver a IE8 si realmente lo desea sin conflictos de estilo, así como sólido en todos los demás navegadores.
También crea menos marcado y casi la misma cantidad de estilo, que en mi opinión es bastante importante.
Entonces, si alguien más se encuentra con problemas similares, espero que esto pueda ayudar:
obviamente, podría usar transform: translate en lugar de márgenes, pero este ejemplo es volver a IE8
fuente
La respuesta de Blazemonger (arriba o abajo) necesita ser votada, pero no tengo suficientes puntos.
Quería agregar una barra gris en algunos botones redondos CSS de 20 píxeles de ancho para indicar "no disponible" y modifiqué el CSS de Blazemonger:
fuente
Asignar el color de línea de destino deseado a un elemento primario también funciona para el elemento de texto eliminado (
<del>), asumiendo que el cliente representa<del>como una línea de paso.http://jsfiddle.net/kpowz/vn9RC/
fuente
Aquí hay una implementación de muestra de jQuery, gracias a la respuesta de gojomo y la sugerencia de utype (+1 para ambos)
El CSS para eso podría ser
fuente
originalPricey luego lo vuelve a inyectar como HTML. Intenta usar en.html()lugar de.text(). O tal vez use jQuery'swrap().