【发布时间】:2011-11-19 22:18:50
【问题描述】:
我有一个 div,它是指向另一个页面的链接。当有人将鼠标悬停在 div(即链接)上时,我希望整个 div 的背景颜色变为蓝色。我想在 CSS 中完成这一切,因为 javascript 可能不适用于所有人。
我的问题:我下面的代码尝试这样做,链接工作正常,但是当我将鼠标悬停在 div 上时,背景不会改变颜色。您认为我做错了什么以及如何解决此问题以使 div 在悬停时更改背景颜色?
我有一种感觉,我应该将链接(a 元素)放在 div 内部(而不是外部),但我永远无法让 a 以这种方式延伸到 div 的整个空间。
<html>
<head>
<style type="text/css">
<!--
body { background-color: RGB(218,238,248); }
#rentalAnnc { margin-top: 5%; border-color: #99CCFF; padding-left: 10px; padding-right: 10px;
border-width:thin; border-style:solid; border-right-width:thick;
border-bottom-width:thick; background-color: #FFFFFF; width: 300px; }
/* Using pure CSS I am trying to make the background color of the div renatalAnnc have a blue background when we hover over it*/
.sidebarLink { color: #000000; text-decoration: none; }
.sidebarLink a:hover { background-color: blue; }
/* The following on works in Firefox not IE! :( #rentalAnnc:hover { background-color: blue; } */
-->
</style>
</head>
<body>
<a class="sidebarLink" href="facilitiesForHire.html">
<div id="rentalAnnc">
<p>We have a range of Education Facilities available for lease & hire</p>
</div>
</a>
</body>
</html>
【问题讨论】:
-
<div>中的<a>不是有效的 HTML。所以浏览器行为在任何方面都是不确定的/不标准的。 validator.w3.org. -
@BalusC:HTML5 允许在
<a>中使用<div>。 -
@mu 是:是这样吗?我落后于时代了。
-
@Wesley:是的,检查 BalusC 链接到的验证器(只要确保在选项中指定 HTML5)。当然,假设浏览器理解 HTML5 是一个冒险的提议。
-
@muis:OP 没有显示 HTML5 文档。这是一个无文档类型的文档。