当用户将鼠标悬停在该页面上的缩略图上时(缩略图位于内body
),我试图更改整个页面的body
的背景颜色。有没有办法只使用CSS?如何通过悬停在另一个div上来更改div的背景?
1
A
回答
6
答案:否。
你必须去,选择div
的父母,然后选择div
的父母......直到你到达body
。没有办法只用CSS选择一个元素的父元素(如果你想知道为什么,this article可能会证明是有用的)......但是(在CSS4中会有一个父元素选择器)。
JavaScript是要走的路,如果你想做到这一点,这很容易。
如果你有这样的事情:在你的HTML
<div class='change-bg'></div>
,那么JavaScript是简单的:
var el = document.querySelector('.change-bg');
el.addEventListener('mouseover', function(){
document.body.style.backgroundColor = 'red';
}, true);
el.addEventListener('mouseout', function(){
document.body.style.backgroundColor = 'black';
}, true);
演示:http://jsfiddle.net/thebabydino/TDSUL/
如果你使用jQuery,它变得更简单:
$('.change-bg').hover(function(){
$('body').css({'background': 'red'})},
function(){
$('body').css({'background': 'black'})
});
+0
我找到最好将它添加到页面底部和$(document).ready(function(){...})中; – ImaginedDesign 2013-04-11 15:02:11
0
不这样,没有。你可以通过CSS选择器改变后代的属性,但不能改变祖先的属性。 XPath会允许这样的事情,但这在CSS中是不可能的。所以我想你在这种情况下需要使用JavaScript。它不可能。
1
它是不可能的。只是JS去,像例如:
<div data-bgcolor="red"><div>
$("div").mouseover(function(){
$("body").css("background-color", $(this).attr("data-bgcolor"));
})
相关问题
- 1. 通过“悬停”在css中的div来更改背景图像
- 2. 更改另一个div的背景悬停多个按钮
- 3. 如何通过将图像悬停在另一个div中来将图像悬停在一个div上?
- 4. 如何更改背景颜色在另一个DIV内的DIV
- 5. 如何让悬停在一个div上触发另一个div的更改?
- 6. 在另一个div上悬停时更改Div属性?
- 7. 将鼠标悬停在另一个div上时更改div
- 8. 不能在另一个div上悬停更改div风格
- 9. 如何通过悬停在另一个上来隐藏一个div?
- 10. 悬停在div触发另一个div
- 11. 如何通过悬停在另一个元素上来更改一个元素?
- 12. 单击另一个Div时,使用ID更改Div背景ID
- 13. 更改div背景当onmouseover另一个div
- 14. 将鼠标悬停在div上并使另一个div更改颜色
- 15. 悬停或单击一个div来影响另一个div
- 16. 如何写一个jQuery的一个DIV鼠标悬停更新另一个DIV
- 17. 如何利用悬停在另一个div下方的div
- 18. 将div悬停在内容将保留的另一个div上
- 19. jquery悬停导航按钮,在另一个div上的fadein div
- 20. JQuery在鼠标悬停的另一个DIV上显示DIV
- 21. jquery更改div的背景颜色时鼠标悬停
- 22. 更改Div链接悬停的背景图片和内容?
- 23. 1 DIV DIV同时改变背景颜色悬停
- 24. 在悬停如何更改div边框
- 25. 在jquery中将鼠标悬停在另一个div上时将一个div的线性渐变背景更改为另一个线性渐变
- 26. 更改其他div的类别时悬停在一个div
- 27. CSS - 改变DIV的背景色上悬停状态
- 28. 如何在没有jQuery的情况下悬停时更改div背景图片?
- 29. 将鼠标悬停在另一个div上时隐藏div
- 30. Animate div当鼠标悬停在另一个div上时
http://stackoverflow.com/questions/8114657/how-to-style-the-parent-element-when-hovering-a-child-element – 2012-07-21 23:44:24