Sé que incrustar estilos CSS directamente en las etiquetas HTML que afectan anula gran parte del propósito de CSS, pero a veces es útil para fines de depuración, como en:
<p style="font-size: 24px">asdf</p>
¿Cuál es la sintaxis para incrustar una regla como:
a:hover {text-decoration: underline;}
en el atributo de estilo de una etiqueta A? Obviamente no es esto ...
<a href="foo" style="text-decoration: underline">bar</a>
... ya que eso se aplicaría todo el tiempo, a diferencia de solo durante el desplazamiento.
Respuestas:
Me temo que no se puede hacer, los selectores de pseudo-clases no se pueden configurar en línea, tendrá que hacerlo en la página o en una hoja de estilo.
Debo mencionar que técnicamente se debe ser capaz de hacerlo de acuerdo a la especificación CSS , pero la mayoría de los navegadores no lo apoyo
Editar: acabo de hacer una prueba rápida con esto:
<a href="test.html" style="{color: blue; background: white} :visited {color: green} :hover {background: yellow} :visited:hover {color: purple}">Test</a>
Y no funciona en IE7, IE8 beta 2, Firefox o Chrome. ¿Alguien más puede probar en otros navegadores?
fuente
style
atributo.Si solo está depurando, puede usar javascript para modificar el CSS:
<a onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">bar</a>
fuente
Una solución simple:
<a href="#" onmouseover="this.style.color='orange';" onmouseout="this.style.color='';">My Link</a>
O
<script> /** Change the style **/ function overStyle(object){ object.style.color = 'orange'; // Change some other properties ... } /** Restores the style **/ function outStyle(object){ object.style.color = 'orange'; // Restore the rest ... } </script> <a href="#" onmouseover="overStyle(this)" onmouseout="outStyle(this)">My Link</a>
fuente
Si es para depurar, simplemente agregue una clase css para desplazarse (ya que los elementos pueden tener más de una clase):
a.hovertest:hover { text-decoration:underline; } <a href="http://example.com" class="foo bar hovertest">blah</a>
fuente
Creé una solución rápida para cualquiera que desee crear ventanas emergentes flotantes sin CSS utilizando los comportamientos onmouseover y onmouseout.
http://jsfiddle.net/Lk9w1mkv/
<div style="position:relative;width:100px;background:#ddffdd;overflow:hidden;" onmouseover="this.style.overflow='';" onmouseout="this.style.overflow='hidden';">first hover<div style="width:100px;position:absolute;top:5px;left:110px;background:white;border:1px solid gray;">stuff inside</div></div>
fuente
Si esa
<p>
etiqueta se crea a partir de JavaScript, entonces tiene otra opción: use JSS para insertar hojas de estilo mediante programación en el encabezado del documento. Soporta'&:hover'
. https://cssinjs.org/fuente
No creo que jQuery admita los pseudo-selectores tampoco, pero proporciona una forma rápida de agregar eventos a uno, muchos o todos sus controles y etiquetas similares en una sola página.
Lo mejor de todo es que puede encadenar los enlaces de eventos y hacerlo todo en una línea de script si lo desea. Mucho más fácil que editar manualmente todo el HTML para activarlos o desactivarlos. Por otra parte, dado que puedes hacer lo mismo en CSS, no sé si te compra algo (aparte de aprender jQuery).
fuente