¿Hay alguna manera de modificar el CSS para una clase cuando se pasa sobre un elemento de otra clase utilizando solo CSS?Uso: desplácese para modificar el CSS de otra clase?
Algo así como:
.item:hover .wrapper { /*some css*/ }
Sólo 'envoltorio' no está dentro 'item', es otro lugar.
Realmente no quiero usar javascript para algo tan simple, pero si tengo que hacerlo, ¿cómo lo haría? Aquí está mi intento fallido:
document.getElementsByClassName('item')[0].onmouseover="document.getElementsByClassName('wrapper')[0].style.background="url('some url')";";
Solo hay un elemento de cada clase. No sé por qué no usaron ID cuando crearon la plantilla, pero así es y no puedo cambiarla.
[Editar]
Es un menú. Cada elemento de menú tiene una clase distinta. Cuando coloca el mouse sobre el elemento, aparece un submenú a la derecha. Es como una superposición, cuando uso la herramienta 'Inspeccionar elemento' puedo ver que todo el sitio web html cambia cuando el submenú está activo (lo que significa que no hay nada más que el submenú). La clase que llamo 'envoltura' tiene el CSS que controla el fondo del submenú. Realmente no hay conexión que pueda ver entre las dos clases.
Usted no quiere usar 'getElementsByClassName' ya que no es compatible con todos los navegadores. – Amberlamps
No. CSS no permite que los elementos no anidados se afecten entre sí. Tendrás que usar Javascript para esto. –
_ "en otro lugar" _: ¿exactamente dónde? si '.item' fuera un hermano anterior, podrías hacer' .item: hover ~ .wrapper {...} ' – fcalderan