Saltar al contenido

¿CSS tachado de un color diferente al del texto?

Solución:

Sí, agregando un elemento de envoltura adicional. Asigne el color de línea que desee a un elemento exterior, luego el color de texto deseado al elemento interior. Por ejemplo:

<span style="color:red;text-decoration:line-through">
  <span style="color:black">black with red strikethrough</span>
</span>

…o…

<strike style="color:red">
  <span style="color:black">black with red strikethrough<span>
</strike>

(Tenga en cuenta, sin embargo, que <strike> se considera obsoleto en HTML4 y obsoleto en HTML5 (ver también W3.org). El enfoque recomendado es utilizar <del> si se pretende un verdadero significado de eliminación, o de lo contrario utilizar un <s> elemento o estilo con text-decoration CSS como en el primer ejemplo aquí.)

Para que el tachado aparezca para: hover, una hoja de estilo explícita (declarada o referenciada en <HEAD>) debe ser usado. (Los :hover La pseudoclase no se puede aplicar con atributos STYLE en línea). Por ejemplo:

<head>
  <style>
    a.redStrikeHover:hover {
      color:red;
      text-decoration:line-through;
    }
  </style>
</head>
<body>
  <a href="https://foroayuda.es/#" class="redStrikeHover">
    <span style="color:black">hover me</span>
  </a>
</body>

(IE7 parece requerir algunos href estar en el <a> antes de :hover tiene un efecto; Los navegadores basados ​​en FF y WebKit no lo hacen).

A febrero de 2016, CSS 3 tiene el soporte que se menciona a continuación. Aquí hay un fragmento de la página de un solo producto de WooCommerce con descuento de precio

/*Price before discount on single product page*/
body.single-product .price del .amount {
color:           hsl(0, 90%, 65%);
font-size:       15px;
text-decoration: line-through;
/*noinspection CssOverwrittenProperties*/
text-decoration: white double line-through; /* Ignored in CSS1/CSS2 UAs */
}

Resultando en:
Ejemplo de decoración de texto


Es probable que CSS 3 tenga soporte directo usando el text-decoration-color propiedad. En particular:

los text-decoration-color La propiedad CSS establece el color utilizado al dibujar subrayados, sobrelíneas o tachados especificados por text-decoration-line. Esta es la forma preferida de colorear estas decoraciones de texto, en lugar de usar combinaciones de otros elementos HTML.

Ver también text-decoration-color en el borrador de especificaciones de CSS 3.

Si desea usar este método de inmediato, probablemente tenga que prefijarlo, usando -moz-text-decoration-color. (También especifíquelo sin -moz-, para compatibilidad con versiones posteriores.)

He usado un vacio :after elemento y decorado un borde en él. Incluso puede usar transformaciones CSS para rotarlo en una línea inclinada. Resultado: CSS puro, sin elementos HTML adicionales. Desventaja: no se ajusta a varias líneas, aunque en mi opinión, no debería usar tachado en grandes bloques de texto de todos modos.

s,
strike {
  text-decoration: none;
  /*we're replacing the default line-through*/
  position: relative;
  display: inline-block;
  /* keeps it from wrapping across multiple lines */
}

s:after,
strike:after {
  content: "";
  /* required property */
  position: absolute;
  bottom: 0;
  left: 0;
  border-top: 2px solid red;
  height: 45%;
  /* adjust as necessary, depending on line thickness */
  /* or use calc() if you don't need to support IE8: */
  height: calc(50% - 1px);
  /* 1px = half the line thickness */
  width: 100%;
  transform: rotateZ(-4deg);
}
<p>Here comes some <strike>strike-through</strike> text!</p>

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *