2010-07-25 12 views
27

Así que en lugar de hacerlo con css:¿Hay alguna forma de usar estilos en línea para definir un estilo de enlace visitado?

<style type="text/css"> 
a:visited { 
    color: red; 
} 
</style> 

se podría hacer uso de código en línea. Algo como esto no funciona:

<a href="http://google.com" style='a:visited:color:red'>Google.com</a> 
+2

Interesante, ¿cuál es la razón detrás de alcanzar el estilo de esta manera? – Hoque

+3

@Hoque, la razón es porque para enviar correos electrónicos, muchos clientes de correo electrónico son incapaces de importar hojas de estilo, por lo que CSS es la forma preferida para que su contenido se reproduzca correctamente. –

+0

@Georgy, JavaScript es la única manera si desea que funcione en línea. – Pacerier

Respuesta

17

No se puede hacer esto, la especificación (CSS2 aquí) covers it briefly here:

Ni los pseudo-elementos ni las pseudo-clases aparecen en el documento de origen o estructura del documento.

:visited junto con los otros modificadores son todas las pseudo-clases, y nunca hubo una configuración de la sintaxis estándar de hacer lo que estamos tratando. Honestamente, esta es la primera vez que lo he visto solicitado, así que no creo que se agregará a la especificación en el corto plazo ... lo siento, esa respuesta es una mierda, pero es lo que es :)

0

No, así no es como funcionan los estilos en línea. Está en la especificación, sin embargo, los navegadores no parecen apoyarlo.

0

No. Pseduoclasses (por ejemplo: first-child,: hover) se usan como selectores basados ​​en el comportamiento y la relación con otros elementos DOM. Los estilos en línea contienen reglas. Incluso si en algún momento los navegadores admiten esto, se sentirá raro.

0

Por lo que sé, no es compatible ... pero para agregar algunas aclaraciones sobre el motivo por el que quiero hacer esto, ya que definitivamente sería la manera menos óptima de hacerlo en una página web normal , la razón sería usar en el correo electrónico HTML, que, a excepción de ciertos buenos clientes de correo electrónico, no admite hojas de estilo regulares, por lo que es necesario definir todos los estilos en línea para garantizar un buen soporte entre los clientes de correo electrónico (Gmail y Outlook (ugh) vienen en mente.)

Por supuesto, es posible usar algún otro programa que le permita importar una hoja de estilo y convertirla automáticamente a estilos en línea, que es mucho más fácil de administrar (eso es lo que hago), pero todavía está usando estilos en línea en el análisis final.

1

Solo para agregar una motivación para lograr este estilo en línea para los diferentes estados a href: en alguna página podría aparecer texto con el enlace en una donde el fondo es diferente del fondo general.

El CSS principal para la "a" les da un color que no es bueno en esa área particular y singular.

Por esta razón, para darle al usuario la idea de que el enlace es un enlace, debe colorear ese enlace de manera diferente a los demás.

Para mí funcionó establecer style="color: #5070BB;" dentro de la etiqueta <a href="..", pero tal vez ni los colores a: visited ni a: hover son buenos para ese fondo y sería útil configurarlos en línea.

Sí, definitivamente es una situación singular y solitaria, pero ese es un caso real.

Ciao!

3

Seguro que puedes ....

<a href="https://www.yahoo.com/" target="_blank"style="text-decoration: none; border-bottom: 1px solid pink;color:pink !important;"> 
      some link 
     </a> 

jfiddle

Cuestiones relacionadas