Có cách nào để sửa đổi css cho một lớp khi lơ lửng trên một phần tử từ một lớp khác chỉ bằng css không?Sử dụng: di chuột để sửa đổi css của một lớp khác?
Cái gì như:
.item:hover .wrapper { /*some css*/ }
Chỉ 'wrapper' không phải là bên trong 'mục', nó ở một nơi khác.
Tôi thực sự không muốn sử dụng javascript cho một cái gì đó đơn giản này, nhưng nếu tôi phải làm thế nào, tôi sẽ làm điều đó như thế nào? Đây là nỗ lực thất bại của tôi:
document.getElementsByClassName('item')[0].onmouseover="document.getElementsByClassName('wrapper')[0].style.background="url('some url')";";
Chỉ có một thành phần của mỗi lớp. Không biết tại sao họ không sử dụng ID khi họ tạo mẫu, nhưng đó chỉ là cách thức và tôi không thể thay đổi nó.
[Chỉnh sửa]
Đó là menu. Mỗi phần tử menu có một lớp riêng biệt. Khi bạn di chuột lên phần tử, menu phụ bật lên bên phải. Nó giống như một lớp phủ, khi tôi sử dụng công cụ 'Kiểm tra Yếu tố', tôi có thể thấy rằng toàn bộ trang web html thay đổi khi menu phụ đang hoạt động (có nghĩa là không có gì ngoài menu con). Lớp tôi gọi là 'wrapper' có css điều khiển nền cho menu phụ. Có thực sự không có kết nối mà tôi có thể nhìn thấy giữa hai lớp học.
Bạn không muốn sử dụng 'getElementsByClassName' vì nó không được hỗ trợ bởi tất cả các trình duyệt. – Amberlamps
Không. CSS không cho phép các phần tử không lồng nhau ảnh hưởng lẫn nhau. Bạn sẽ phải sử dụng Javascript cho việc này. –
_ "ở một nơi khác" _: chính xác ở đâu? nếu '.item' là một anh chị em trước đây bạn có thể làm' .item: hover ~ .wrapper {...} ' – fcalderan